Incerc sa adun doua matrici, dar rezultatul nu este corect.
Elementele matricilor sunt generate random ( cu functia rand() ).
Codul este simplu: o functie pentru generare elemente; o functie pentru adunare matrice; apoi in main sunt afisate cele doua matrice, si suma lor.
Code: Select all
#include <iostream>
using namespace std;
const int n=3;
//generare valori pentru cele doua matrici
int Random (int)
{
int i =rand () %20;
return i;
}
// adunare matrici
int MatrixAdd (int myarray1[n][n], int myarray2[n][n])
{
int myarray3[n][n];
for (int i = 0; i < n ; i++)
{
for (int j = 0; j < n; j++)
{
myarray3 [i][j] = myarray1 [i][j] + myarray2 [i][j];
}
}
return myarray3[n][n];
}
int main ()
{
srand (time(NULL));
int myarray1 [n][n];
int myarray2 [n][n];
int m3 [n][n];
//afisare matricea 1
for (int i = 0; i < n ; i++)
{
for (int j = 0; j < n; j++)
{
myarray1[i][j] = Random (0);
cout << myarray1 [i][j] << "\t";
}
cout << endl;
}
cout << endl;
// afisare matricea 2
for (int i = 0; i < n ; i++)
{
for (int j = 0; j < n; j++)
{
myarray2[i][j] = Random (0);
cout << myarray2 [i][j] << "\t";
}
cout << endl;
}
cout << endl;
// afisare suma
m3 [n][n] = MatrixAdd (myarray1, myarray2);
for (int i = 1; i <= 3; ++i) {
for (int j = 1; j <= 3; ++j) {
cout<<m3[i][j]<<" ";
}
cout<<"\n"; // face afisarea sa treaca pe rand nou
}
system("PAUSE");
return 0;
}