mateiuli
14th October 2009, 21:11
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.
dani.user
14th October 2009, 21:15
mateiuli
14th October 2009, 21:16
M-am gandit eu ca e ceva cu for...
Dev
14th October 2009, 21:20
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
14th October 2009, 22:10
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
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?
Dev
14th October 2009, 22:33
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
14th October 2009, 22:44
Asta e ceea ca nu prea stiu...
Dev
14th October 2009, 22:55
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
15th October 2009, 00:21
1234=1*10^3+2*10^2+3*10^1+4*10^0
Acum vezi unde-i for-ul?
mateiuli
15th October 2009, 17:13
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
Aceasta este o versiune simplificatã a paginii originale. Pentru a vizita versiunea originala
click aici.