Se citeste de la tastatura o matrice patratica de dimensiunea n (n mai mic sau egal decat 10). Sa se afiseze matricea citită, produsul elementelor de diagonala principala si suma elementelor pare de pe liniile de indice impar.
Răspunsuri la întrebare
Program C++
#include <iostream>
using namespace std;
int main(){
int n, a[10][10],i,j;
//Citire matrice
cin >> n;
for(i=0;i<n;i++)
for(j=0;j<n;j++)
cin >> a[i][j];
//Afisare matrice
cout << "\nMatrice :\n";
for(i=0;i<n;i++){
for(j=0;j<n;j++)
cout << a[i][j] << " ";
cout << endl;
}
//Afisare produs
int prod=1;
for(i=0;i<n;i++)prod*=a[i][i];
cout << "\nProdus Diagonala Principala : " << prod << endl;
//suma elementelor pare de pe liniile de indice impar
int suma = 0;
for(i=1;i<n;i+=2){
for(j=0;j<n;j++){
if(a[i][j]%2==0) suma+= a[i][j];
}
}
cout << "\nSuma elemente pare de pe linii impare: " << suma << endl;
}
Nota :
Am considerat ca indexarea liniilor si coloanelor incepe de la 0. Daca raspunsul dat de exercitiu la subpunctul " suma elementelor pare de pe liniile de indice impar" este diferit de raspunsul la care te asteptai poti inlocui linia for(i=1;i<n;i+=2) cu for(i=0;i<n;i+=2) .
Ai test atasat.
#include <iostream>
using namespace std;
int main()
{
int M[10][10], n, i, j, P = 1, S = 0;
cin >> n;
for(i = 1; i <= n; i++)
for(j = 1; j <= n; j++)
cin >> M[i][j];
for(i = 1; i <= n; i++)
for(j = 1; j <= n; j++){
if(i == j)
P = P * M[i][j];
if((i % 2 == 1) && (M[i][j] % 2 == 0))
S = S + M[i][j];
}
for(i = 1; i <= n; i++){
for(j = 1; j <= n; j++)
cout << M[i][j] << " ";
cout << endl;
}
cout << "Produsul: " << P << endl;
cout << "Suma: " << S;
return 0;
}