Ex. Pentru o matrice dată să se calculeze suma elementelor care aparţin unui
interval dat (xinf<=tab[i][j] && xsup>=tab[i][j]).
Prezentarea algoritmului :
-
se citesc capetele intervalului în care trebuie să se
încadreze elementele cautate în matrice
xinf şi xsup
-
se citesc dimensiunile matricei
m şi n
-
se citesc elementele matricei
pentru i=0,m-1 execută
pentru j=0,n-1 execută
citeşte
tab[i][j];
sfârşit
pentru
sfârşit pentru
- suma = 0;
-
se
parcurge matricea element cu element. Se testează dacă elementul curent se
încadrează în intervalul dorit şi în caz afirmativ elementul curent se adună la
suma calculată anterior
pentru
i=0,m-1 execută
pentru j=0,n-1 execută
dacă
tab[i][j] > xi şi tab[i][j] < xf atunci
suma = suma + tab[i][j];
sfârşit
dacă
sfârşit pentru
sfârşit
pentru
- afişează suma
Obs. Variabila suma reprezintă suma
calculată.
Ex. 7 Să se determine elementul
maxim de pe fiecare linie dintr-o matrice
#include
<stdio.h>
#include
<conio.h>
void
main()
{
int
tab[10][10],max_lin[10];
int
i,j,m,n,max;
clrscr();
printf("\n
Introduceti dimensiunile matricei ");
scanf("%d
%d",&m,&n);
printf("\n
Introduceti elementele matricei\n");
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
printf("tab[%d][%d]=",i,j);
scanf("%d",&tab[i][j]);
}
}
printf("\n
Matricea citita de la tastatura este: \n");
for(i=0;i<m;i++)
{
printf("\t");
for(j=0;j<n;j++)
printf("
%4d",tab[i][j]);
printf("\n");
}
for(i=0;i<m;i++)
{
max=matr[i][0];
for(j=0;j<n;j++)
{
if(max < tab[i][j])
max=tab[i][j];
}
max_lin[i]=max;
}
printf("\n
elementele vectorului de maxime sunt");
for(i=0;i<m;i++)
printf("
%5d",max_lin[i]);
getch();
}
Obs. Vectorul max_lin
conţine elementele maxime de pe fiecare linii. Evident acesta are dimensiunea
egală cu numărul liniilor matrucii tab.
Niciun comentariu:
Trimiteți un comentariu