Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

stos, jak zmienic program na wskazniki

Effect_X 19 Gru 2010 22:51 1061 4
  • #1 19 Gru 2010 22:51
    Effect_X
    Poziom 14  

    kolejny program i kolejny problem. otóz mam program "stos", i musze go zmienic na wskazniki, ale kompletnie nie wiem jak sie za to zabrac, nie wiem czy tablice przypisac jako wskaznik ?
    Prosze o wskazówki i pomoc,
    Z góry thx

    0 4
  • #3 19 Gru 2010 22:57
    Effect_X
    Poziom 14  

    ciezko bedzie , bo na razie mialem same podstawy

    program:

    Code:
    #include <cstdlib>
    
    #include <iostream>
    #include <stdio.h>

    //b indeks tablicy
    //c wartosc pod ktora bedziemy wpisywac

    main()
    {     
    int a=0,b=0,c=0;

    int tablica[50];
           
           for(int i=0;i<50;i++)
           {
                   tablica[i]=0;
                   }
    do
    {
    printf ("1-polorz na stos:\n");
    printf ("2-pobierz ze stosu:\n");                           
    printf ("3-wyswietl stos:\n");   
    printf ("4-koniec:\n");
    scanf("%d",&a);
    if (a==1)
    {
             scanf("%d",&c);
             tablica[b]=c;
             b++;
             
             }
    if (a==2)
    {

             scanf("%d",&c);
                      b--;
             tablica[b]=c;

             printf ("");
             
             }         
    if (a==3)
    {
           for(int j=0;j<50;j++)
           {
                   if (tablica[j]!=0)
                   
                   printf("%d\n",tablica[j]);
                   }
             
             }

    }while(a!=4);


    system("PAUSE");
    return 0;
    }


    Proszę pamiętać o używaniu znaczników code. - arnoldziq

    0
  • #4 22 Gru 2010 19:00
    azra
    Poziom 16  

    Masz przecież std::stack ;)
    Przy czym, jeżeli musisz swój stos wyświetlić, to użyj raczej std::vector lub std::list - ma push_back() i pop_back(), więc obsługa stosu gotowa, oraz iteratory (nie wspominając o bezpośrednim dostępie do danych w przypadku std::vector).

    Btw. "Połóż" pisze się przez ż, (czy tam 'z' bez polskich końcówek ;) ).

    edit: No i wcięcia! Jak Ty się w tym kodzie w ogóle możesz zorientować gdzie co jest?

    0
  • #5 22 Gru 2010 22:00
    directx11
    Poziom 17  

    Chyba nie chodzi o to, aby skorzystać z gotowca z biblioteki standardowej, vector czy list i ich metody pozwalające wrzucać z każdego końca, wyciągać dane ze środka czy iterować po kontenerze wręcz przeczą idei stosu - nie tędy droga, jeśli ma mieć to jakiś sens. Tak jak kolega wyżej wspomniał można użyć listy jednokierunkowej i dowiedzieć się co to jest kolejka LIFO.

    0