Problema C++


mateiuli


Salut,

Sunt in clasa a 9 la mate-info info intensiv, si profa de info ne-a dat o problema care suna cam asa:
"Sa da n, sa afisam urmatoarele: (de exemplu pt n=3)"

Punctul 1:
1
12
123

Punctul 2:
1
21
321

Punctul 3:
123
12
1

Punctul 4:
---1---
-123-
12345
Liniutele "-" le-am pus eu pentru ca nu imi merge sa las spatii. Prin urmare "-" = spatiu

NU vreau problema mura-n gura. Vreau sa o inteleg. Ce indicatii imi puteti da? Mentionez ca pana acuma am facut lucrul cu fisierele (de intrare/de iesire) si tablouri unidimensionale(vectori). Inca nu am facut matrici.

Multumesc. smile.gif
dani.user
for ti suficient
 
mateiuli
M-am gandit eu ca e ceva cu for...
Dev
QUOTE (dani.user @ 14th October 2009, 21:15) *
for ti suficient


Cam da.

Tu ce crezi ca-ti cere problema?

Punctul 1 pt n:
1
12
123
1234
...
12345..n

Cum il faci cu for?
colombo2003
Sorry, dar eu nu am inteles deloc ce anume vrei!!! Daca n=3, sa zicem ca as pricepe punctele 1, 2 si 3, cu diverse afisari, crescatoare, descrescatoare etc, la punctul 4... ce cauta 5 si numere de 5 cifre???
Spune-mi mai exact ce anume vrei (si ce intelegi prin acele puncte si cum se formeaza si cum se parcurg) si poate te pot ajuta mai bine si mai mult. Problema in sine este cred destul de simpla.
mateiuli
Pai...am observat si eu ca la punctul 4 e cu 5 numere. Dar sa sarim peste aspectul asta, sa ne concentram pe primele 3 puncte.
Asa l-a scris profa pe tabla.

Punctele alea sunt diverse moduri de afisare.
Pai de exemplu la punctul 1: daca pun un simplu for(i=1;1<=n;i++) cout<<i<<'\n'; si sa zicem n=3, imi afiseaza
1
2
3
Cum ar trebui sa arate partea de for ca sa imi numere de fiecare data de la 1 cand trece pe linia urmatoare?
Dev
QUOTE (mateiuli @ 14th October 2009, 22:13) *
Pai...am observat si eu ca la punctul 4 e cu 5 numere. Dar sa sarim peste aspectul asta, sa ne concentram pe primele 3 puncte.
Asa l-a scris profa pe tabla.

Punctele alea sunt diverse moduri de afisare.
Pai de exemplu la punctul 1: daca pun un simplu for(i=1;1<=n;i++) cout<<i<<'\n'; si sa zicem n=3, imi afiseaza
1
2
3
Cum ar trebui sa arate partea de for ca sa imi numere de fiecare data de la 1 cand trece pe linia urmatoare?


Eu zic ca si punctul 4 e foarte logic.

Dar pana acolo mai e. Nu mi-ai raspuns la 1. Cum crezi tu c-ar arata forul?
 
mateiuli
Asta e ceea ca nu prea stiu...
Dev
QUOTE (mateiuli @ 14th October 2009, 22:44) *
Asta e ceea ca nu prea stiu...


Sa vedem:

for-ul ce face?

De la i=cat vrei tu (exemplu i=1), atata timp cat i satisface o anumita conditie (exemplu i<=n) si i creste cu o anumita valoare (exemplu i = i+1) se executa instructiunea urmatoare.


Daca tu ai forul scris de tine (aproximativ)
for (i=1;i<=n;i++) cum ai putea continua pentru a rezolva punctul 1?

Nu are prea mare treaba cu programarea, trebuie sa gandesti logic cum poti sa printezi numerele de la 1 la n pe linii diferite in modul respectiv folosind teoria expusa mai devreme.
OriginalCopy


1234=1*10^3+2*10^2+3*10^1+4*10^0

Acum vezi unde-i for-ul?
mateiuli
Am reusit s-o rezolv. Deocamdata pentru punctul 1 si 2. Sunt 2 foruri, for in for:
Notam numarul linilor cu i si numarul coloanelor cu j

Punctul 1:
In "pentru i=1; i<=n; i++" e cel de-al doilea for "pentru j=1; j<=i; j++"

Iar la punctul 2 modificarile se fac doar in forul cu j si anume j o sa ia valoarea i, j<=i si j se decrementeaza

Multumesc tuturor pentru ajutor smile.gif
Aceasta este o versiune simplificatã a paginii originale. Pentru a vizita versiunea originala click aici.