Sari la conținut
Forum Roportal

Evaluează acest topic

Postări Recomandate

#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

#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

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

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) :o: :doh:

Partajează acest post


Link spre post
Distribuie pe alte site-uri

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

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum

×