pai tu ai zis " am facut aceasta stiva eu vreau ca rezultatul sa apara invers
adica 123 rez:321 "
programul care ti-i la-am facut, asta face
eu n-am inteles mai nimic la tine
ce-i cu
char ch;
char c[20];
while(ch!=10 && ch!=13 && ch<19) // ..... ce-sa cu astea? sau ce-ai vrut sa faci?
stiva e ca si un sir de numere, doar ca are o regula: primul intrat e ultimul iesit
unde ai citit stiva?
unde ai declarat cate elemente sa fie in stiva?
uite si exemplificarea programului meu:
#include<stdio.h>
#include <iostream.h>
typedef st[20];
st a;
int nr,i,n,aux; //n-nr de elemte din stiva, i-contor;aux-variabila auxiliara
void main(void)
{
cout << "Introduceti nr de elemente al stivei>";
cin >> n; // cate elemente sa aibe stiva
for(i=1;i<=n;i++) //introduci elemtele din stiva
{ //daca ai zis ca stiva e de 3 elemente
cout << "Numar>"; //introduci elemtele ca la un vector a[1],a[2],a[3]
//adica pentru n=3,prima intrare in ciclu a[1], a doua intrare in
cin >> a; //ciclu a[1+1] (i++) si tot asa
}
for(i=1;i<=n-1;i++) //apoi pentru fiecare elemnt din stiva,de la primul pana la penultimul,
{ //facem asa: luam
aux=a; //var auxiliara si o initializam cu a[1],a[1]=a[3-1+1],
a=a[n-i+1]; //a[3-1+1]=a[1], la a 2-a intrare in ciclu aux=a[2],
a[n-i+1]=aux; //a[2]=a[3-2+1] (in cazul nostru (n=3)nici nu se schimba)
// adica lasam primul elem gol, ultimul devine primul,si aux(val primului elem)
//ultimul, adica un fel de interschimbare
}
for(i=1;i<=n;i++)
cout << a; //scrie noua asezare a elemntelor din lista
}
ps
sper ca n-am scris atat de geaba si o sa pricepi ce-am facut acolo :evil:
"dar nu poti sa-la faci in asa fel incat sa fie in C si sa foloseasca functia getchar" :pee
(intinzi un deget si-ti ia toata mana)
