0% au considerat acest document util (0 voturi)
11 vizualizări3 pagini

Lab 5

Documentul descrie un laborator de programare axat pe tablouri bidimensionale, incluzând teorie și exemple de cod. Se prezintă două programe: unul pentru manipularea matricelor pătratice și calcularea unor statistici, iar altul pentru gestionarea notelor studenților. De asemenea, sunt propuse teme suplimentare pentru aprofundarea cunoștințelor despre matrici.

Încărcat de

Radu
Drepturi de autor
© All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca DOC, PDF, TXT sau citiți online pe Scribd
0% au considerat acest document util (0 voturi)
11 vizualizări3 pagini

Lab 5

Documentul descrie un laborator de programare axat pe tablouri bidimensionale, incluzând teorie și exemple de cod. Se prezintă două programe: unul pentru manipularea matricelor pătratice și calcularea unor statistici, iar altul pentru gestionarea notelor studenților. De asemenea, sunt propuse teme suplimentare pentru aprofundarea cunoștințelor despre matrici.

Încărcat de

Radu
Drepturi de autor
© All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca DOC, PDF, TXT sau citiți online pe Scribd

Laborator 5

Obiectiv: Tablouri bidimensionale

Teorie:
Declaratia: tip nume[n][m];
n-dim pe linie
m-dim pe coloana
Referire la elem unui tablou: se precizeaza numele, in interiorul parantezelor se
precizeaza indicele corespunzator liniei si a [Link] a[2][3]...
Tablourile se pot initializa la declaratie: int m[][]={{1,2,3},{1,2,3},{1,2,3}};
int a[][4]={{1,4,2},{2,5}}; a are 2 linii si 4
coloane; doar 5 elemente sunt initializare. Valorile neinitializate au o valoare
imprevizibila. Daca tabloul este declarat static sau global atunci elem neinitializate se
initializeaza automat cu valoarea 0.

1. Program care citeste de la tastatura elementele intregi ale unei matrici patratice de
ordinul n, afiseaza matricea, calculeaza si afiseaza suma elem. de pe diag. principala,
produsul elementelor de pe diag. secundara si afiseaza numarul de elem impare de sub
diag. principala.

#include<stdio.h>
#include<conio.h>
void main()
{int a[20][20],n,i,j,nr=0;
long s=0,p=1;
printf("\Introduceti n: ");
scanf("%d",&n);
for(i=0;i<n;i++)
for(j=0;j<n;j++)
{printf("a[%d][%d]=",i,j);
scanf("%d",&a[i][j]);}
printf("\nMatricea este:\n");
for(i=0;i<n;i++)
{for(j=0;j<n;j++)
printf("%d\t",a[i][j]);
printf("\n");}
for(i=0;i<n;i++)
for(j=0;j<n;j++)if(i==j)
s=s+a[i][j];
for(i=0;i<n;i++)
for(j=0;j<n;j++)if(j==n-1-i)
p=p*a[i][j];
for(i=1;i<n;i++)
for(j=0;j<i;j++)
if(a[i][j]%2!=0)nr++;
printf("\nSuma elem de pe diag princ este %ld",s);
printf("\nProdusul elem de pe diag sec este %ld",p);
printf("\nNr. elem impare de sub diag princ este %d",nr);
getch();
}

2. Se citesc de la tastatura notele celor n studenti dintr-o grupa la cele m materii. Sa


se afiseze notele studentilor, mediile studentilor si nr. de examene nepromovate
pentru fiecare student, media grupei, si sa se ordoneze crescator mediile
studentilor.

#include<stdio.h>
#include<conio.h>
void main()
{int note[20][10],n,m,i,j,nep[20],val,gasit,cod;
float med[20],medg,aux;
printf("\nIntroduceti nr stud ");
scanf("%d",&n);
printf("\nIntroduceti nr de materii ");
scanf("%d",&m);
for(i=0;i<n;i++)
for(j=0;j<m;j++)
{printf("\nIntroduceti notelele stud %d la materia %d ",i+1,j+1);
scanf("%d",&note[i][j]);}
printf("\nNotele sunt\n");
for(i=0;i<n;i++)
{for(j=0;j<m;j++)
printf("%d\t",note[i][j]);
printf("\n");}
medg=0;
for(i=0;i<n;i++)
{med[i]=0;nep[i]=0;
for(j=0;j<m;j++)
{med[i]+=note[i][j];
if(note[i][j]<=4) nep[i]++;
}
med[i]=med[i]/m;
medg+=med[i];
}
medg=medg/n;
printf("\nMediile sunt:");
for(i=0;i<n;i++)
printf("%.2f\t",med[i]);
printf("\nNr. ex. nepromov. sunt:");
for(i=0;i<n;i++)
printf("%d\t",nep[i]);
printf("\nMediag este: %.2f", medg);
do{
cod=1;
for(i=0;i<n-1;i++)
if(med[i]<med[i+1])
{aux=med[i];
med[i]=med[i+1];
med[i+1]=aux;
cod=0;
}
}
while(cod==0);
printf("\nMediie ordonate sunt:");
for(i=0;i<n;i++)
printf("%.2f\t",med[i]);
getch();
}

Temă

1. Fie două matrici pătratice de ordinul n. Să se determine suma şi produsul celor


două matrici.
2. Să se afişeze numărul elementelor pozitive, numărul elementelor nule şi numărul
elementelor negative dintr-o matrice dată cu n linii şi m coloane.
3. Să se afişeze pentru o matrice citită de la tastatură, matricea transpusă.
4. Se consideră o matrice de ordin n cu elemente de tip întreg. Să se determine nr.
elem. pozitive de sub diagonala principală, suma elementelor pare de deasupra
diagonalei secundare, elementul maxim şi minim din matrice, produsul elem
impare de sub diagonala secundară şi nr. elem. negative de deasupra diagonalei
principale.
5. Se citesc de la tastatura notele celor n studenti dintr-o grupa la cele m materii. Sa
se afiseze notele studentilor şi mediile studenţilor care au toate notele (în
celelalte cazuri să afişeze 4)

S-ar putea să vă placă și