Am pus solutia la o problema pe pbinfo si primesc incontinuu 80p din cauza memoriei (caught fatal signal 11). Am sa las mai jos cerinta problemei si solutia mea, imi puteti spune unde e greseala, va rog?
Cerința
Să se scrie un program care gestionează o coadă de numere întregi. Inițial coada este vidă. Programul va citi de la tastatură o listă de operații, care pot fi:
push X – adaugă valoarea întreagă X în coadă;
pop – elimină elementul din coadă;
front – afișează elementul de la începutul cozii.
Programul va realiza asupra cozii operațiile citite, în ordine. Afișările se fac pe ecran, câte o valoare pe linie.
Date de intrare
Programul citește de la tastatură un număr n, apoi cele n operații,
Date de ieșire
Programul va afișa pe ecran numerele rezultat ale operațiilor front, câte unul pe o linie.
Restricții și precizări
coada nu va conține la un moment dat mai mult de 1000 elemente
elementele cozii vor fi cuprinse între -1.000.000 și 1.000.000
dacă la un moment dat se aplică operația pop și coada nu conține niciun element, operația nu are efect
dacă la un moment dat se aplică operația front și coada nu conține niciun element, operația nu are efect (nu se afișează nimic)
#include
#include
using namespace std;
int main()
{ int n,k=0,i,cd[1000],v[1000],p;
char s[20];
cin>>n;
for(i=1;i<=n;i++)
{ cin>>s;
if(strcmp(s,"push")==0)
{ cin>>v[i];
k++;
cd[k]=v[i];}
if(strcmp(s,"pop")==0 && k>0)
{ for(p=1;p<k;p++)
{ cd[p]=cd[p+1];}
k--; }
if(strcmp(s,"front")==0 && k>0)
{cout<<cd[1]<<endl;}
return 0;
}
artur99:
În sfârșit. Chiar dubios a fost până mi-am dat seama. Problema nu e de la stivă, pentru că, într-adevăr, restricția e respectată „coada nu va conține la un moment dat mai mult de 1000 elemente”, parțial
Răspunsuri la întrebare
Răspuns de
6
Iti atasez solutia problemei in C++. Acum sper sa te descurci.
Anexe:
Alte întrebări interesante
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
9 ani în urmă
Spaniola,
9 ani în urmă
Matematică,
9 ani în urmă
Biologie,
9 ani în urmă