Prośba o pomoc program z algorytmów C++, zadanie na stosach.
Ostatnio zmodyfikowano 2022-04-04 19:15
grigoriii Temat założony przez niniejszego użytkownika |
Prośba o pomoc program z algorytmów C++, zadanie na stosach. » 2022-03-30 23:15:06 Hej, próbuję rozwiązać zadanie z algorytmów z języka C++, w szkopule uzyskuje 50%, i nie mogę zrozumieć dlaczego nie działa program skoro przy kompilacji i wprowadzeniu danych z zadania wynik jest ok. Link do zadaniaMój kod: #include <iostream> using namespace std; const int LIMIT = 35; struct Stack { int tab[ LIMIT ]; int top; }; void create( Stack & S ) { S.top = - 1; } void push( Stack & S, int x ) { { S.top = S.top + 1; S.tab[ S.top ] = x; } } int top( Stack S ) { return S.tab[ S.top ]; } void pop( Stack & S ) { { S.top--; } } int main() { Stack plytkie; create( plytkie ); Stack glebokie; create( glebokie ); push( plytkie, 0 ); push( glebokie, 0 ); int notes = 0;; string slowo, rodzaj; int ilosc_slow, nrid; cin >> ilosc_slow; int * t = new int[ ilosc_slow ]; for( int i = 0; i < ilosc_slow; i++ ) { cin >> slowo; if( slowo == "dziekuje" ) { cin >> rodzaj; cin >> nrid; if( rodzaj == "plytki" ) { push( plytkie, nrid ); } else if( rodzaj == "gleboki" ) { push( glebokie, nrid ); } } else if( slowo == "prosze" ) { cin >> rodzaj; if( rodzaj == "plytki" ) { t[ notes ] = top( plytkie ); pop( plytkie ); notes++; } else if( rodzaj == "gleboki" ) { t[ notes ] = top( glebokie ); pop( glebokie ); notes++; } } } for( int i = 0; i < notes; i++ ) { if( t[ i ] != 0 ) cout << t[ i ] << endl; } return 0; }
|
|
pekfos |
» 2022-03-31 06:55:09 Treść zadania nie daje żadnych podstaw na przyjęcie limitu 35 elementów na stosie. |
|
grigoriii Temat założony przez niniejszego użytkownika |
» 2022-04-04 19:15:55 Dzięki za odpowiedź, dokładnie o to chodziło, po przeanalizowaniu treści zadania też to zauważyłem. Taki szczegół a straciłem na to trochę czasu. Jeszcze raz dzięki. |
|
« 1 » |