SUBIECTE PROGRAMARE PENTRU CLASELE DE MATEMATICĂ-INFORMATICĂ

1. Să se realizeze un program pentru rezolvarea ecuaţiei de gradul II: ax2+bx+c=0, a,b,c∈R, a≠0.
#include<iostream.h>
int main()
{ float a,b,c,d;
cout<<"a="; cin>>a;
cout<<"b="; cin>>b;
cout<<"c="; cin>>c;
d=b*b-4*a*c;
if(d<0) cout<<"nu avem solutii reale";

else if(d>0)
{ cout<<"x1="<<(-b+sqrt(d))/(2*a);
cout<<endl;
cout<<"x2="<<(-b-sqrt(d))/(2*a);
cout<<endl;
}
else cout<<"x1=x2="<<-b/(2*a);
}

2. Se dă un număr natural cu cel mult 9 cifre. Să se afle numărul de cifre pare din el.
#include<iostream.h>
int main()
{ long n;
int p=0,c;
cout<<"n="; cin>>n;
while(n>0)

{c=n%10;
if(c%2==0) p++;
n=n/10;
}
cout<<"p="<<p;
}

3. Se citesc 3 numere naturale de la tastatură. Să se determine şi să se afişeze cel mai
mare divizor comun şi cel mai mic multiplu comun al lor.
#include<iostream.h>
int cmmdc(int a,int b)
{ while(a!=b)
if(a>b) a= a-b;
else b= b-a;
return a;
}
int main()
{ int a,b,c,x,y,z,k,p;

cout<<"a="; cin>>a;
cout<<"b="; cin>>b;
cout<<"c="; cin>>c;
x=cmmdc(a,b); y=a*b/x;
x=cmmdc(x,c); y=y*c/x;
cout<<"cmmdc= "<<x;
cout<<"cmmmc= "<<y;
}

4. Se citeşte un număr de la tastatură. Să se afişeze oglinditul său (numărul obţinut
prin inversarea cifrelor numărului iniţial).
#include<iostream.h>
int main()
{ long n,inv=0, c;
cout<<"n="; cin>>n;
while(n!=0)
{ c=n%10;

inv=inv*10+c;
n=n/10;
}
cout<<inv;
}

5. Se citeşte un număr introdus de la tastatură.
a. Să se afişeze suma tuturor divizorilor săi.
1

cin>>a.dreptunghi".3 sau 4.cin>>n. else max=b.2. cin>>l1. if(c<min) min=c. #include<iostream. cout<<endl<<"nr este perfect". l1. switch(m){ case 1: { cout<<(float)(a+b+c)/3<<endl<<endl. cout<<endl<<"3.nota minima "<<endl. cout<<"l2= ". k. r.14. cout<<endl<<"4. p. int main() if(s-n= =n) {int n. Selectarea opţiunii 4 determină oprirea programului.b. perfect". În funcţie de opţiunea utilizatorului şi de câte ori doreşte acesta. Să se scrie un program care. Exemplu: 6 este perfect deoarece 6=1+2+3.sp. Se citesc de la tastatură trei note obţinute de un elev într-un semestru. cin>>l2. cin>>c.i++) } 6. sp=(float)p/2. cin>>opt. cin>>l3. while( m!=4) { cout<<"1. switch(opt) { case 1: {cout<<"l1= ".nota maxima "<<endl. p=l1+l2+l3. Observaţie. break. const float pi=3. cout<<"c=". cout<<"a=". cout<<"3. stop"<<endl.media notelor "<<endl.cerc". float a. în funcţie de dorinţa utilizatorului realizează una din următoarele acţiuni: calculează şi afişează media notelor. Să se afişeze un meniu de forma: 1. cout<<"2. cout<<"4. cout<<"l3= ". do {cout<<"1.min. cout<<endl<<"2. cin>>m.terminare".h> int main() { int opt. Un număr natural este perfect dacă este egal cu suma divizorilor săi. for(i=1. cout<<"b=". se vor introduce lungimile laturilor figurii alese/raza cercului.Triunghi 2. #include<iostream. } } }} 7.Dreptunghi 3. l3. a=sqrt(sp*(sp-l1)*(sp-l2)*(sp-l3)).h> int main() { int a. break.s. cin>>b. bool x. break.c. if(c>max) max=c. #include<iostream. afişează cea mai mare sau cea mai mică dintre note. if(n%i==0) s=s+i.i<=n.Cerc 4. cout<<min<<endl<<endl. cout<<"n=". cout<<"perim este: "<<p<<" |". else min=b.triunghi".b. Să se verifice dacă este perfect. } case 2: { if(a>b) max=a.h> cout<<"suma diviz este:"<<s. cout<<"Introduceti optiunea:".max. else cout<<endl<<"nr nu este s=0. cout<<endl<<"optiunea dvs este: ".x. cout<<max<<endl<<endl. l2. Se va afişa perimetrul şi aria figurii geometrice alese.m=5.i.Terminare Alegeti 1. 2 . } case 3: { if(a<b) min=a.

p=2*(l1+l2). cout<<2*pi*r<<" ". break.. while(n!=0) { x=n%10.i<=n.ok. cout<<"x=". cin>>r. #include<iostream. pentru x număr real. n. else s=s-factorial(i)*factorial(i). Să se realizeze un program pentru calculul expresiei: S= x + x2 1 +2 x3 + 1 + 2 + 3 +……….i. for(i=1. } } while(opt<4).k=0. cout<<"l2= ". break. cout<<"perim este: "<<p<<" ". Se citeşte un număr natural de la tastatură. #include<iostream.2)<<endl. cout<<"suma este:"<<s. Să se realizeze un program pentru calcularea sumei următoare: S=(1!)2−(2!)2+(3!)2−………+(−1)n+1(n!)2.cout<<"aria este:”<<a<<endl. } 8.i++) { p=p*x. cout<<"aria cercului= ". cin>>l2. #include<iostream.i<=x. break. cout<<"aria este:”<<a<<endl. cin>>n. pentru n (n≤8) număr natural dat. i. + n natural dat.+ xn .cin>>n. for(i=1. cin>>n. n. ok=0. a=l1*l2.h> int main() {l ong int a[20]. cout<<"n= ". 3 .i++) p=p*i. for(i=1.i<=n. if(ok==0) { k++. } 10. i. n.p=1.. cout<<pi*pow(r. } case 3: {cout<<"raza= ". cout<<"lungimea cercului=”. Să se introducă într-un vector cifrele distincte din care este format. cin>>x.x.k=0. s=0. cout<<" n: ". float x. } 9. } case 2: {cout<<"l1= ". k=k+i. return p. } cout<<"suma este: "<<s.i++) if(i%2==1) s=s+factorial(i)*factorial(i). iar n număr 1 + 2 + . cin>>l1. for(i=1.i<=k. s=s+p/k.h> int factorial(int x) {int p=1.i++) if(x==a[i]) ok=1. } int main() {int s=0. } default: cout<<"ati introdus o valoare gresita".h> int main() {int i. cout<<"n=".

i<=n.ok. cin>>a[i].cin>>n. cin>>a[i]. } 11. #include<iostream.} if(ok==1) cout<<"elementul se afla in vector pe pozitia "<<p. for(i=1. for (i=1. for(i=1.} cout<<"x=".i++) cout<<a[i]<<" ".i<=n. Să se afişeze elementele şirului în ordine descrescătoare (n natural dat). max=a[1].i<=n.i<=n. for(i=1. cout<<"n=". #include<iostream. p=i.i++) { cout<<"a["<<i<<"]=".i<=n.i++) { cout<<"a["<<i<<"]=". if(min>a[i]) min=a[i]. cout<<"n=".i<n.i++) cout<<a[i]<<" ".i<=k. ok=0. a[i]=a[i+1].i++) {cout<<"a["<<i<<"]=".} } cout<<"vectorul ordonat este:". să se afişeze minimul şi maximul dintre elementele şirului (n natural dat). cout<<"n=". cout<<"n=".a[k]=x. max.aux.cin>>n.cin>>n. for(i=1. while (ok==0) { ok=1. Se citesc n numere naturale de la tastatură. } 14.a[20].i.i++) { cout<<"a["<<i<<"]=".i. Se cere să se verifice dacă numerele date sunt sau nu în ordine crescătoare. #include<iostream.h> int main() { int n. cout<<"max="<<max.i++) if(a[i]<a[i+1]) {aux=a[i]. cin>>a[i]. for (i=1.i++) if(a[i]==x) {ok=1. #include<iostream.h> int main() { int n. } ok=0. Se citeşte un şir de n (n natural dat) numere întregi citite de la tastatură şi un număr întreg x.h> int main() {int n. } cout<<"min="<<min.i<=n. cin>>a[i].h> int main() {int n.a[20].} min=a[1]. } 12.cin>>x. a[i+1]=aux. } for(i=1. for (i=1.min. } n=n/10.ok=0. else cout<<x<<" nu se gaseste in vector".i<=n.i. Se citeşte un şir de n numere reale de la tastatură.} for(i=1.p.i.x.a[10]. } 13. 4 .cin>>n. Se cere să se verifice dacă numărul întreg x se găseşte sau nu în şirul dat.i++) if(a[i]>a[i+1]) ok=0. if(ok==1) cout<<"sunt ordonate". for (i=1.ok=1.a[20]. iar în caz afirmativ să se afişeze poziţia pe care se găseşte.i<=n.i++) { if(max<a[i]) max=a[i]. Se citeşte un şir de n numere de la tastatură.

i<=m.j++) if(b[i]==c[j]) x=1.i++) { x=0.j<=n. if(x==0) {k=k+1.i<=m.h> int prim(int x) { int k=1.i++) cout<<c[i]<<" ".m).int n) { int i.i++) if (prim(i)) {cout<<i<<" ".i.k.j. } int main() { int a[20].i<=n.m). Se dau două şiruri cu m. afisare(b.cin>>n.k).i. cout<<endl. 5 .i. if(ok) {k++.b[50].x. respectiv n elemente (m. for(i=1. } 16. cout<<endl.j<=k.i++) {cout<<"a["<<i<<"]=". for(i=1.i++) c[i]=a[i]. Se dau două şiruri cu m. nr++. afisare(a.a[50].nr=0. for(j=1.i<=n. for(i=a. #include<iostream.} cout<<endl<<"nr="<<nr.j.} } void afisare(int x[20]. cin>>a[i]. cout<<"numarul de elemente".n.h> void citire(int x[20]. Să se afişeze reuniunea elementelor celor două şiruri.h> #include<conio.i<=m. pentru elevii unei clase. cout<<"m=". cout<<"a=". Să se afişeze toate numerele prime din intervalul [a. for(i=1. respectiv n elemente (m. #include<iostream. Să se realizeze un program care citeşte de la tastatură n înregistrări.n numere naturale date). } int main() {int a.c[20]. for(i=1. } 17. citire(b.b[20]. cin>>b[j].i<=n.i<=b. } 15.i<=k. cu structura: nume. Se citesc de la tastatură două numere naturale a şi b (a<b). for(i=1.m. cout<<"n=".b] şi numărul lor. cin>>x[i]. medie.i++) { cout<<"element["<<i<<"]=".n.else cout<<"nu sunt ordonate". k=m. } for(j=1. } 18. citire(a.n numere naturale date). for(i=1.i++) if(a[i]==b[j]) ok=1. return k.i++) if(x%i==0) k=0.h> int main() { int m.cin>>a. c[k]=b[j].n).ok.i. cout<<"b=".c[50].j++) {cout<<"b["<<j<<"]=".k=0. prenume. Să se afişeze intersecţia elementelor celor două şiruri. c[k]=b[i].j<=n.cin>>m. #include<iostream.} } for(i=1.b.cin>>n.cin>>b. for(i=2. } for(j=1.n).} } afisare(c.i<x/2. Să se afişeze elevii în ordine alfabetică şi să se calculeze media generală a clasei.i++) cout<<x[i]<<" ".j++) { ok=0.int &n) { int i.

Se cere să se afişeze cuvintele frazei în ordine alfabetică. } #include<iostream. } } d[k]=0. sep[]=" .i<strlen(s).i<=n.i++) p=p*i. p=strtok(NULL.nume)>0) { aux=a[i]. for(i=0. k++. ok=0. #include<iostream.i<=n.aux.} 6 .i<=n. 21.} int main() {cout<<"n=". fiecare cuvânt pe câte un rând. cout<<"media="<<(float)s/n.i++) s=s+a[i]. k=k+2. folosindu-se ca şi separatori spaţiul sau virgula. a[i]=a[i+1].media<<endl. } #include<iostream.i++) cout<<a[i]<<endl. 100). strcpy(a[i].ok.get(s. a[i+1])>0) {strcpy(aux.nume.i<=n. cout<<"combinari:"<<factorial(n)/ (factorial(k)*factorial(n-k)). a[i+1]=aux.k=0. } 20. cout<<"prenume:". } #include<iostream. elev a[30]. Se citeşte de la tastatură o frază formată din maxim 100 de caractere. p=1. cout<<"media:".cin>>a[i]. a[i+1]). ok.h> int main() {char s[100].100).i++) { cout<<"nume:".i++) { d[k]=s[i]. strcpy (a[k].i++) if(strcmp(a[i]. }.".i<=k-1. k=0. p=strtok(s. if(s[i]=='a') { d[k]=d[k+1]='a'. Să se întocmească un program care citeşte un şir de caractere şi înlocuieşte caracterul “a” cu şirul “aaa”. while(ok==0) {ok=1. int n.cin>>a[i]. ok=0. for(i=1.media.cin>>n.prenume.} } for(i=1. float media. cout<<"s=".h> int main() {char s[100]. 19. ok=0. for(i=1.nume<<" „<<a[i]. return p. } } for(i=1.} ok=0. int factorial(int n) {int i. float s.prenume<<" "<<a[i].i++) if(strcmp(a[i].nume.i<=n-1.d[100]. aux[100]. pentru n şi k daţi. cout<<d. cout<<"introduceti sirul: ".i<=k. sep).prenume[20]. int i. cout<<"k=". a[20][15]. sep).h> int n.cin>>a[i]. for(i=1.while(ok==0) {ok=1. cin. strcpy(a[i+1]. aux). a[i]). for(i=1. Să se realizeze un program care calculează numărul de combinări C nk .k.get(s. p).i++) cout<<a[i]. while(p) { k++.i.h> struct elev {char nume[20].media. cin>>k. i.a[i+1]. int k. cin. cin>>n. int main() { cout<<"n=". *p. for(i=1.

100). Să se afişeze produsul (produsele) care are (au) preţul cel mai mare. } float max.b. cin>>y1. int n. cout<<"suma:"<<(x1+x2)<<"+"<<(y1+y2 )<<"i"<<endl. cout<<"p="<<p. cin>>b. int cantitate. i. 25. cout<<"Re(2)=". int main() {cout<<"n=".pret. cin>>y2. cout<<"cantitate:". cout<<"a=".i++) p=b+p. cout<<"produsele cu pretul cel mai mare sunt:"<<endl. Să se verifice dacă sunt egale. for(i=2. cout<<"raport:"<<(x1*x2+y1*y2)/ (x2*x2+y2*y2)<<"+"<<(y1*x2-x1*y2)/ (x2*x2+y2*y2)<<"i"<<endl.100).i. cout<<"produsul:"<<(x1*x2y1*y2)<<"+"<<x1*y2+y1*x2<<"i"<<endl.pret<<endl.cantitate<<" "<<a[i]. cout<<"Img(1)=". } #include<iostream. i.get(s2. while(a>=b) {a=a-b. } cout<<"catul este:"<<s<<endl. Să se afişeze suma.pret. Să se efectueze împărţirea a două numere naturale prin scăderi repetate. #include<iostream. Să se realizeze un program care citeşte de la tastatură n înregistrări cu structura: denumire.i<=a.s=0. Se dau două şiruri. cout<<"b=".i<=n. cout<<"a=". s2[100]. 7 .x1.h> int main() {int c1. cout<<"restul este:"<<a. 24. Să se calculeze produsul a două numere naturale prin adunări repetate. cin. cin.22. cantitate.h> int main() {int a. } 26.pret==max) cout<<a[i].pret>max) max=a[i].h> int main() {char s1[100]. cin>>x1.pret. max=a[1]. for(i=1.h> struct produs {char denumire[20].i++) {cout<<"denumire:". p=0. cin>>n. if(stricmp (s1. cout<<"sirul1:". cout<<"pret:". s++. } #include<iostream. produs a[20].get(s1.y1. float pret.cin>>a[i].i++) if(a[i].denumire. produsul şi raportul celor două numere. cin. } #include<iostream.x2. cout<<"sirul2:".i++) if(a[i]. cin>>x2.h> main() {int a. cout<<"b=". cin>>b.c2. cin>>a[i].get(). Se citesc două numere complexe date prin parte reală şi parte imaginară. }. fără a face deosebire între literele mici şi mari. cout<<"img(2)=".b. preţ.y2. for(i=1. cout<<"Re(1)=".s2)==0) cout<<"sirurile sunt egale".denumire<<" "<<a[i].i<=n. } #include<iostream. cin>>a. else cout<<"sirurile nu sunt egale".cin>>a. 23. cin>>a[i].cantitate.i<=n. for(i=1.

c)) int i. int i.} cout<<"x=". y[10]. } de 28. cin>>s. Să se afişeze literele distincte din textul citit. n=1. } #include<iostream. Se citeşte un şir de numere întregi cuprinse între 0-255 până la întâlnirea valorii 0.i++) {y[i]=0. cin>>a. Se citeşte un cuvânt.v[28]. format din litere mari. if(ok==0) {n++. cin>>x. if(strchr(s. cout<<"sirul:". x. 8 .h> int main() {int a[100].i<=n.27.i<=strlen(s). i++. j--.get(s. v[c]++.j.h> int main() {int i. if(a[i]==x) ok=1. a[n]=x. Să se afişeze numerele distincte dintre cele citite.i<=9. } if(ok==1) cout<<"are proprietati palindrom".h> for(c='A'. cout<<"a=". cin>>s. Se citeşte de la tastatură un şir de caractere (maxim 25 caractere). a[1]=x. Să se determine cifrele comune a două numere naturale date. j=strlen(s)-1. int i. Ex: “cojoc” – palindrom #include<iostream.i++) cout<<a[i]<<" ".h> int main() {char s[26]. j++) cout<<s[j].i++) if(y[i]!=0&&x[i]!=0) cout<<i<<" ".i++) 30. cout<<endl.} while (a!=0) {c=a%10. Se citeşte un text format din maxim 50 de caractere. } for(i=0.j. #include<iostream. ok. cout<<"sir:". Verificaţi dacă cuvântul are proprietatea de palindrom (dacă cuvântul citit invers este identic cu cel dat). b.51).} while(b!=0) {d=b%10. while(x!=0) {ok=0. cin>>b. for(i=1.c++) char s[51]. i++) { for(j=0. for(i=1. a. a=a/10. cout<<c<<" ". {cin.c. x[10].h> int main() {char s[100]. cout<<"b=".d. cout<<"x=". } } 29. #include<iostream. while((i<j)&&(ok==1)) {if(s[i]!=s[j]) ok=0.i<=n. i=0.} for(i=1. c. else cout<<"nu are propriet". cin>>x. x[d]++.x[i]=0. i. } #include<iostream.c<='Z'. Să se afişeze toate prefixele sale (fiecare pe un rând).ok=1. for(i=0. b=b/10.i<=9. int main() } 31. j<=i-1.

h> int main() {int m. Să se construiască o matrice B de dimensiune n*m să conţină elementelor subunitare pozitive ale matricei A. cout<<" Matricea finala:"<<endl. cout<<"n=". } #include<iostream. #include<iostream.j++) {cout<<"a["<<i<<"]["<<j<<"]=". j++) if(a[i][j]>max) max=a[i][j]. i++) for(j=1.i++) {for(j=1.i<=n. i<=n. } } #include<iostream. i++) for(j=1. cout<<"matricea initiala:"<<endl. i<=n. Afişaţi noua matrice. } cout<<"Matricea initiala:"<<endl. i++) { for(j=1. Să se înlocuiască elementele situate pe diagonala principală şi pe diagonala secundară cu valoarea 0 (zero). for(i=1. i++) { for(j=1. for(i=1.j++) {cout<<"a["<<i<<"]["<<j<<"]=". j<=m. cin>>a[i][j].j<=n. j<=m. Afişaţi matricea şi maximul elementelor din matrice.i++) 35. i<=n. else b[i][j]=0. i.i.j<=n. j<=m. j++) cout<<a[i][j]<<" ".n. j++) cout<<b[i][j]<<" ". 9 . i++) for(j=1. #include<iostream. cin>>n. for(i=1. i<=n. Afişaţi matricea. cout<<"m=". cin>>m. j<=m. n . {for(j=1. cout<<"n=". j. } cout<<"matricea finala:"<<endl.j++) { cout<<"a["<<i<<"]["<<j<<"]=".i<=n. cin>>n. cout<<"n=". cin>>n. cin>>m. for(i=1. cout<<endl. float a[20][20]. i<=n. m.32.i++) for(j=1. cout<<"n=". cin>>a[i][j]. for(i=1.j++) cout<<a[i][j]<<" ". } for(i=1. } for(i=1. j<=m. Se dă o matrice pătratică A. Se dă o matrice A nepătratică (n*m). i<=n. } max=a[1][1]. Afişaţi cele 2 matrici. i<=n.i<=n.i<=n. b[20][20]. j<=m. cin>>a[i][j]. pe aceleaşi poziţii şi 0 în rest.j<=n. cout<<endl. cout<<endl. Afişaţi matricea şi numărul elementelor pare de sub diagonala principală.j++) { cout<<"a["<<i<<"]["<<j<<"]=". } } 34. for(i=1. Se consideră o matrice nepătratică (n*m) care conţine elemente de tip real. Se dă o matrice pătratică A. i<=n.j. j++) if(a[i][j]>0&&a[i][j]<1) b[i][j]=a[i][j]. k=0. cout<<"max="<<max. j<=m. for(i=1. float a[20][20]. j<=n.h> int main() {int a[20][20]. cin>>n. cout<<endl. j. cout<<endl. i++) for(j=1. i++) { for(j=1. j++) cout<<a[i][j]<<" ".i .i++) a[i][i]=a[i][n+1-i]=0.j++) cout<<a[i][j]<<" ". i.h> int main() {int a[20][20]. for(i=1. } 33. i++) for(j=1. for(i=1. cout<<"m=". for(i=1. n. max. j.h> int main() {int n.

cout<<"k="<<k. i<=n. ok. s=0. for(i=1. } cout<<"max="<<max. i.i . cin>>m.i . j++) cout<<a[i][j]<<" ". j++) if(a[i][j]%2!=0) k++. #include<iostream. cout<<"m=". j++) if(i>j&&a[i][j]%2==0) k++. Se dă un tablou bidimensional cu n linii şi m coloane (1<= n. i++) { if (a[i][1]>max) max=a[i][1]. j. cin>>n. #include<iostream.j++){cout<<"a["<<i<<"] ["<<j<<"]=". cout<<"n=". } for(i=1.j++) { cout<<"a["<<i<<"]["<<j<<"]=". Să se determine cel mai mare număr de pe marginea tabloului. j<=n. m. j<=m. for(i=1. if (a[i][m]>max) max=a[i][m]. i. cin>>a[i][j]. j. cout<<"m=". i<=n. j. for(i=1. i++) for(j=1. } for(i=1. i<=n. i++) for(j=1. Se consideră o matrice de dimensiune n*m care conţine elemente întregi. } max=a[1][1]. cout<<"n=". j<=m. cout<<"m=". m< =50) având componente întregi. j. for(i=1. cin>>a[i] [j]. m. Să se afişeze numărul elementelor impare ale matricei. i<=n. cout<<endl. j<=n. i++) for(j=1. j<=n. cin>>a[i][j]. cin>>m. else cout<<" matricea nu e triunghiular superioara". i<=n. } 36. n . n . n.j++) { cout<<"a["<<i<<"]["<<j<<"]=". for(i=1. #include<iostream. cout<<"n=". } ok=1. Să se afişeze suma elementelor pare ale matricei. Să se verifice dacă o matrice patratică este “triunghiular superioară” (toate elementele aflate sub diagonala principală sunt nule). cout<<"s="<<s.j++) { cout<<"a["<<i<<"]["<<j<<"]=". cout<<"n=". max. cin>>n. } for(j=1. i++) for(j=1. j++) if(i<j && a[i][j]!=0) ok=0. j<=n. j++) if(a[i][j]%2==0) s=s+a[i][j]. j++) { if (a[1][j]>max) max=a[1][j]. if (a[n][j]>max) max=a[n][j]. j<=m. i<=n. i++) { for(j=1. } for(i=1. i<=n. j<=m. i<=n. } 38. i++) for(j=1. cin>>n. } 10 . n. } 37. Se consideră o matrice de dimensiune n*m care conţine elemente întregi. j<=m. cin>>a[i][j]. i++) for(j=1.h> int main() {int a[20][20]. i++) for(j=1. i<=n. for(i=1. i<=n. cin>>m. cin>>n.h> int main() {int a[20][20]. i++) for(j=1. #include<iostream.cin>>a[i][j].h> int main() {int a[20][20].m . cout<<"k="<<k. k=0. } for(i=1. } 39. if(ok==1) cout<<" matricea e triunghiular superioara".h> intin() {int a[20][20]. j<=m.

j++) 11 . m. i<=n. i. n. cin>>a[i][j].40.j++) if(i==1 || i==n || j==1 || j==m) s=s+a[i][j]. m<=50) având componente întregi. i++) for(j=1. Să se determine suma elementelor de pe marginea tabloului. cin>>m. j. j<=m. cout<<"s="<<s. i++) for(j=1. cin>>n. cout<<"m=". Se dă un tablou bidimensional cu n linii şi m coloane (1<= n. s=0.h> int main() {int a[20][20]. } #include<iostream. j<=m. } for(i=1. for(i=1. i<=n. cout<<"n=". { cout<<"a["<<i<<"]["<<j<<"]=".