Sunteți pe pagina 1din 5

Nume: Paucean Ioana

Clasa: 10A

Test matrici- Rândul 1


1. În secvenţa alăturată se consideră că variabila a memorează un tablou bidimensional cu n linii şi n
coloane, numerotate de la 1 la n, iar toate celelalte variabile sunt întregi. Ce valoare se va afişa în
urma executării secvenţei, dacă n=4, iar tabloul are conţinutul de mai jos?
1234 p=1; u=n; s=0;
5678 while (p<=u)
9123 { s=s+a[p][p]+a[u][u];
4567 p=p+1; u=u-1;
}
cout<<s;
16

2. În secvenţa de mai jos, variabila a memorează un tablou bidimensional cu 4 linii şi 4 coloane,


numerotate de la 1 la 4, cu elementele reale. Variabila p este reală, iar i este de tip întreg.
Care dintre instrucţiunile de mai jos poate înlocui punctele de suspensie astfel încât secvenţa să determine
memorarea în variabila p a valorii produsului celor 8 elemente aflate pe diagonalele matricei.
p=1;
for(i=1;i<=4;i++)
....
a. p=p*a[5-i][i]*a[i][5-i]; b. p=p*a[i][i]*a[i][4-i];
c. p=p*a[i][i]*a[5-i][5-i]; d. p=p*a[5-i][5-i]*a[i][5-i];
3. Fiind dată o matrice a cu m linii și n coloane, realizați un program care afișează produsul
elementelor divizibile cu 3 aflate pe linii impare și coloane pare.
#include <iostream>

using namespace std;

int main()
{
int P=1, m, n, i, j, a[101][101];
cin >>m >>n;
for (i=1; i<=m; i++)
for (j=1; j<=n; j++)
{cin >>a[i][j];
if (a[i][j]%3==0 && i%2!=0 && j%2==0) P=P*a[i][j];
}
cout <<P;
return 0;
}

4. Realizați un program care afișează elementele prime de pe linia x a unei matrici cu m linii și n
coloane de numere întregi.
#include <iostream>

using namespace std;

int main()
{
int ok, d, m, n, i, j, a[1001][1001], x;
cin >>m >>n >>x;
for (i=1; i<=m; i++)
for (j=1; j<=n; j++)
{cin >>a[i][j];
if (i==x)
{ok=1;
Nume: Paucean Ioana
Clasa: 10A

if (a[i][j]==1 || a[i][j]%2==0) ok=0;


else {
for (d=2; d*d<=a[i][j]; d++)
if (a[i][j]%d==0) ok=0;
if (ok==1) cout <<a[i][j] <<" ";

}
}
}
return 0;
}

5. Se citesc de la tastatură elementele unei matrici cu n linii și n coloane. Realizați un program care
afișează media aritmetică a elementelor impare aflate sub diagonala principală.
#include <iostream>

using namespace std;

int main()
{
int i, j, n, a[101][101]; float S=0, k=0;
cin >>n;
for (i=1; i<=n; i++)
for (j=1; j<=n; j++)
{cin >>a[i][j];
if (i>j && a[i][j]%2!=0){k++; S+=a[i][j];}
}
cout <<S/k;
return 0;
}

6. Să se construiască în memorie o matrice cu n linii și n coloane care conține șirul primelor n*n pătrate
perfecte pare.
#include <iostream>

using namespace std;

int main()
{
int n, j, i, a[101][101], d;
cin >>n;
for (i=1; i<=n; i++)
for (j=1; j<=n; j++)
{a[i][j]=d*d;
d=d+2;
}
for (i=1; i<=n; i++)
{
for (j=1; j<=n; j++) cout <<a[i][j] <<" ";
cout <<endl;
}
return 0;
}
Nume: Paucean Ioana
Clasa: 10A

Ofici
1. 2. 3. 4. 5. 6.
u

2
1p 1p 1p 2p 2p
1p p

Barem

Test matrici- Rândul 2


1. În secvenţa alăturată se consideră că variabila a memorează un tablou bidimensional cu n linii şi n
coloane, numerotate de la 1 la n, iar toate celelalte variabile sunt întregi. Ce valoare se va afişa în
urma executării secvenţei, dacă n=4, iar tabloul are conţinutul de mai jos?
1234 p=1; u=n; s=0;
5678 while (p<=u)
9123 { s=s+a[p][p]+a[u][u];
4567 p=p+1; u=u-1;
}
cout<<s;
16

2. În secvenţa de mai jos, variabila a memorează un tablou bidimensional cu 4 linii şi 4 coloane,


numerotate de la 1 la 4, cu elementele reale. Variabila p este reală, iar i este de tip întreg.
Care dintre instrucţiunile de mai jos poate înlocui punctele de suspensie astfel încât secvenţa să determine
memorarea în variabila p a valorii produsului celor 8 elemente aflate pe diagonalele matricei.
p=1;
for(i=1;i<=4;i++)
....
a. p=p*a[5-i][i]*a[i][5-i]; b. p=p*a[i][i]*a[i][4-i];
c. p=p*a[i][i]*a[5-i][5-i]; d. p=p*a[5-i][5-i]*a[i][5-i];

3. Fiind dată o matrice a cu m linii și n coloane, realizați un program care afișează suma elementelor
divizibile cu 5 aflate pe linii pare și coloane impare.
#include <iostream>

using namespace std;

int main()
{
int S=0, a[101][101], m, n, i, j;
cin >>m >>n;
for (i=1; i<=m; i++)
for (j=1; j<=n; j++)
if (i%2==0 && j%2 ==0 && a[i][j]%5==0) S+=a[i][j];
cout <<S;
return 0;
}

4. Realizați un program care afișează elementele prime de pe linia y a unei matrici cu m linii și n
coloane de numere întregi.
#include <iostream>
Nume: Paucean Ioana
Clasa: 10A

using namespace std;

int main()
{
int m, n, i, j, y, a[101][101], ok, d;
cin >>m >>n >>y;
for (i=1; i<=m; i++)
for (j=1; j<=n; j++)
{
cin >>a[i][j];
if (i==y)
{
ok=1;
if (a[i][j]==1 || a[i][j]%2==0) ok=0;
else
{
for (d=3; d*d<=a[i][j]; d++)
if (a[i][j]%d==0) ok=0;
}
if (ok==1) cout <<a[i][j] <<" ";
}
}
return 0;
}

5. Se citesc de la tastatură elementele unei matrici cu n linii și n coloane. Realizați un program care
afișează media aritmetică a elementelor pare aflate sub diagonala principală.

#include <iostream>

using namespace std;

int main()
{
int n, j, i, a[101][101]; float S=0, k;
cin >>n;
for (i=1; i<=n; i++)
for (j=1; j<=n; j++)
{
cin >>a[i][j];
if (i>j && a[i][j]%2==0)
{
k++;
S+=a[i][j];
}
}
Nume: Paucean Ioana
Clasa: 10A

cout <<S/k;
return 0;
}

6. Să se construiască în memorie o matrice cu n linii și n coloane care conține șirul primelor n*n pătrate
perfecte impare.
#include <iostream>

using namespace std;

int main()
{
int f=1, n, d, i, a[101][101];
cin >>n;
for (i=1; i<=n; i++)
for (d=1; d<=n; d++)
{
a[i][d]=f*f;
f=f+2;
}
for (i=1; i<=n; i++)
{
for (d=1; d<=n; d++) cout <<a[i][d] <<" ";
cout <<endl;
}
return 0;
}

Ofici
1. 2. 3. 4. 5. 6.
u

2
1p 1p 1p 2p 2p
1p p

Barem

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