Informatică, întrebare adresată de neacsuvalentinrobert, 9 ani în urmă

Calculul determinantului unei matrice(matrice de ordin 2 si 3) in c++.
Repede va rog!!!

Răspunsuri la întrebare

Răspuns de Paddon
0

int main()

{

   int matrix[3][3] = {{1, 2, 3}, {2, 3, 1}, {-1, 0, 1}}, d2, d3;

   d2 = matrix[0][0] * matrix[1][1] - matrix[0][1] * matrix[1][0];

   d3 = matrix[0][0] * matrix[1][1] * matrix[2][2] +

           matrix[1][0] * matrix[2][1] * matrix[0][2] +

           matrix[2][0] * matrix[0][1] * matrix[1][2] -

           matrix[0][2] * matrix[1][1] * matrix[2][0] -

           matrix[1][2] * matrix[2][1] * matrix[0][0] -

           matrix[2][2] * matrix[0][1] * matrix[1][0];

   for(int i = 0; i < 3; i++)

   {

       for (int j = 0; j < 3; j++)

           cout << matrix[i][j] << " ";

       cout << endl;

   }

   cout << d2 << endl;

   cout << d3 << endl;

   return 0;

}


Paddon: matrix = o matrice
d2 = determinant de ordin 2
d3 = determinant de ordin 3
cele doua for-uri de dupa d3 afiseaza matricea
Paddon: Totusi, de ce ai nevoie de matrice in C++ daca nu intelegi ceva atat de simplu?
neacsuvalentinrobert:  d2 = matrix[0][0] * matrix[1][1] - matrix[0][1] * matrix[1][0];

   d3 = matrix[0][0] * matrix[1][1] * matrix[2][2] +

           matrix[1][0] * matrix[2][1] * matrix[0][2] +

           matrix[2][0] * matrix[0][1] * matrix[1][2] -

           matrix[0][2] * matrix[1][1] * matrix[2][0] -

           matrix[1][2] * matrix[2][1] * matrix[0][0] -

           matrix[2][2] * matrix[0][1] * matrix[1][0];

explicami ce fac aceste linii de cod
Paddon: Calculeaza determinantul :|
Paddon: Daca ce ti se pare ciudat e faptul ca d3 e scris pe mai multe linii, sa stii ca se poate scrie si intr-o singura linie, dar e mai usor de citit pe mai multe
neacsuvalentinrobert: Asa si ce inseamna matrix[0][0] * matrix[1][1] * matrix[2][2]?
Paddon: Nu intelegi formula sau de ce apare "[0][0]"?
neacsuvalentinrobert: de ce apare 0 0
neacsuvalentinrobert: 1 1 2 2
Paddon: Ok. "matrix" este un vector (array, de fapt), adica contine mai multe elemente inauntru. Elementele dinauntru se acceseaza cu "[]". In cazul unui vector cu mai mult de o dimensiune, cum este matricea, elementele au mai multe coordonate, deci e nevoie de "[][]". E ciudat de explicat in romana, poti citi mai multe aici: http://www.cplusplus.com/doc/tutorial/arrays/
Alte întrebări interesante