strycnine 0 Raportează post Postat Mai 11, 2005 #include<stdio.h> typedef st[20]; st a; char ch; sort int nr,i; char c[20]; main() { nr=-1; printf("Introduceti elementele stivei\n"); while(ch!=10 && ch!=13 && ch<19) { nr++; a[nr]=ch; ch=getchar(); } for(i=nr;i>=0;i--) c[nr-i]=a; printf("Stiva rezultat este:"); for(i=nr;i>=0;i--) printf("%c",c); puts(""); } am facut aceasta stiva eu vreau ca rezultatul sa apara invers adica 123 rez:321 dar nu stiu de ce dar nu imi da nimic daca aveti materiale despre stive,coada sau lista va rog sa-mi dati si mie Partajează acest post Link spre post Distribuie pe alte site-uri
work27 0 Raportează post Postat Mai 12, 2005 #include<stdio.h> #include <iostream.h> typedef st[20]; st a; int nr,i,n,aux; void main(void) { cout << "Introduceti nr de elemente al stivei>"; cin >> n; for(i=1;i<=n;i++) { cout << "Numar>"; cin >> a; } for(i=1;i<=n-1;i++) { aux=a; a=a[n-i+1]; a[n-i+1]=aux; } for(i=1;i<=n;i++) cout << a; } rezultat: Introduceti nr de elemente al stivei>3 Numar>1 Numar>2 Numar>3 321Press any caey to continue :)" Partajează acest post Link spre post Distribuie pe alte site-uri
strycnine 0 Raportează post Postat Mai 12, 2005 dar nu poti sa-la faci in asa fel incat sa fie in C si sa foloseasca functia getchar sau zi-mi ce nu am facut eu bine programul e in linux Partajează acest post Link spre post Distribuie pe alte site-uri
work27 0 Raportează post Postat Mai 12, 2005 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) :doh: Partajează acest post Link spre post Distribuie pe alte site-uri
crs_tzep 4 Raportează post Postat Mai 12, 2005 Se pare ca am vazut tema asta cu intarziere oricum felicitari worca27 Partajează acest post Link spre post Distribuie pe alte site-uri
work27 0 Raportează post Postat Mai 13, 2005 thancas, crs_tep :oca: Partajează acest post Link spre post Distribuie pe alte site-uri
work27 0 Raportează post Postat Mai 26, 2005 sau uite un exemplu de inversare al unui numar, nu al unui sir: #include<stdio.h> main() { int n,ninv=0; printf("n="); scanf("%de",&n); while (n) { ninv=ninv*10+n%10; n=n/10; } printf("%de",ninv); } exemplu: n=123456789 987654321Press any caey to continue Partajează acest post Link spre post Distribuie pe alte site-uri