Sa se scrie pseudocodul prin executarea caruia sa se afiseze valorile de pe primele n linii ale triunghiului.
1
23
456
78910
…
Va multumesc!
Inregistrati-va pentru a beneficia de cunostintele comunitatii, a pune intrebari sau a a raspunde la intrebarilor celorlalti.
Suntem o comunitate care incurajeaza educatia si in care se intalnesc know-how-ul si experienta cu perspective inovative de abordare a problemelor.
Autentificati-va pentru a pune intrebari, a raspunde la intrebarilor celorlalti sau pentru a va conecta cu prietenii.
V-ati uitat parola ? Introduceti adresa de email si veti primi o noua parola.
Please briefly explain why you feel this question should be reported.
Va rugam explicate, pe scurt, de ce credeti ca aceasta intrebare trebuie raportata.
Motivul pentru care raportezi utilizatorul.
In exercitiu trebuia dedusa legea dupa care se formeaza acele numere sau era data?
Cum adica legea?regula este ca fiecare nivel al triunghiului sa contina numarul de numere cat este indicat de prima cifra de pe nivel(dar trebuie sa contina numai consecutivele sale)
Programul este:
E scris in C++.
In pseudocod ar fi cam asa:
date intrare…date iesire…citeste n..
ideea e asa:
x = 1; (variabila de tip intreg)
pentru i = 1, n executa
{ pentru j=1, i executa
{ afisaza x;
x<-x+1;
}
afisaza „\n”;
}
Daca sunt nelamuriri, astept intrebari.
Multumesc foarte mult,am inteles
mai am o problema:
se considera aceeasi piramida ca mai-nainte,deja formata.se citesc 2 numere l si c(c<=l) care reprezinta linia si respectiv coloana piramidei.Sa se scrie un pseudocod care afiseaza cifra de pe acea pozitie,dar fara sa se foloseasca structuri repetitive.
Multumesc!
Am reusit sa rezolv problema insa ar trebui niste restrictii pentru n si o sa-ti explic si de ce.
Acesta este codul:
Dupa cum observi, am creat din nou acel triunghi insa sub o alta forma, de fapt l-am creat intr-o matrice patratica de grad n. Cu alte cuvinte, acel triunghi este situat sub diagonala principala (de fapt include si diagonala). Astfel, lucrurile se simplifica. Doar accesez matricea cu coordonatele citite in variabilele I si C si se afisaza elementul cerut. Nu am folosit structuri repetitive la afisarea elementului determinat de cele 2 coordonate (si nici nu am incercat sa determin elementul utilizand structuri repetitive) doar am creat triunghiul sub o alta forma, utilizandu-le. Trebuie mentionat ca este necesara o restrictie pentru n. Daca introduci n=10 programul depaseste necesarul de memorie. Daca aloci o matrice mai mare, programul nu ruleaza. Deci n-ul ar trebui sa fie mai mare sau egal cu 7 sau 8, cred.
Aveti cuvantul!
Afisezi l*(l-1)/2+c ; unde l->linie ; c->coloana
Da, interesanta metoda, chiar sunt impresionat. Poti „povesti” cum ai ajuns la ea?
Ultimul termen de pe fiecare rand se scrie ca l*(l+1)/2 unde l este linia. (se poate verifica prin inductie). Avand linia si coloana specificata, nu tb decat sa adunam la coloana respectiva ultimul termen de pe linia precedenta.
Inductie: Pasul 1 si 2 le faci tu.
Pasul 3. Avem pe linia l ultimul termen l*(l+1)/2 si vrem sa demonstram ca pe linia l+1 ultimul termen e (l+1)(l+2)/2.
Dar pe linia l+1 sunt l+1 numere… =>Ultimul termen de pe linia l+1 se scrie ca ultimul termen de pe linia l + cele l+1 elemente. Deci l*(l+1)/2+(l+1)=(l+1)(l+2)/2… ceea ce tb demonstrat.