Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C++] Problem z wyświetleniem zawartości stosu

Ostatnio zmodyfikowano 2014-04-23 12:27
Autor Wiadomość
87kelthuzad
Temat założony przez niniejszego użytkownika
[C++] Problem z wyświetleniem zawartości stosu
» 2014-04-23 09:16:38
Witam to mój program:
#include <stack>
#include <iostream>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
using namespace std;
int main()
{
    int i,n = 20,liczba;
    stack < int > stosParzyste;
    stack < int > stosNieparzyste;
    liczba = time(NULL);
    srand(liczba);

    for (i=0;i<n;i++)
    {
        liczba = rand()%100;
        if (liczba%2 == 0)
        {
            stosParzyste.push(liczba);
            cout << liczba << endl;
        }
        else
        {
            stosNieparzyste.push(liczba);

        }

    }

    getch();
    return 0;
}

I na końcu chciałem żeby wyświetlały mi się te dwa stosy. Użyłem cout << stosParzysty << endl; ale to nie działało na internecie znalazłem coś takiego:
void display(stack *stos)
{
     while(stos)
     {
         cout << stos->x << " ";
         stos = stos->next;
     }
     cout << endl;
}

Ale nie wiem jak to przystosować do mojego programu. Albo czy jest jakiś prostszy sposób na wyświetlenie stosu. Prosze o pomoc.
P-108538
maly
» 2014-04-23 10:14:51
std::stack nie posiada żadnej metody do odczytywania wartości oprócz top(), najlepiej wybierz inny kontener.
P-108540
michal11
» 2014-04-23 12:19:42
C/C++
while( !stos.empty() )
{
    cout << stos.top();
    stos.pop();
}

Nie sprawdzałem, ale chyba powinno działać.

@Down
Słusznie zapomniałem dodać pop().

btw. Autorowi tematu polecam http://www.cplusplus.com​/reference/stack/stack/
P-108542
pekfos
» 2014-04-23 12:27:00
top() nie usuwa elementu.
P-108543
« 1 »
  Strona 1 z 1