Informatică, întrebare adresată de andreirusen, 8 ani în urmă

Cum calculez patratul unei matrice in C++/transpusa sa?

Răspunsuri la întrebare

Răspuns de luys2007
1

Răspuns:

#include <iostream>

using namespace std;

int b[30][30];

void citire(int x[30][30], int n)

{

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

   {

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

       {

           cout << "a[" << i << "][" << j << "]:";

           cin >> x[i][j];

       }

   }

}

void afisare(int a[30][30], int n)

{

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

   {

       cout << endl;

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

       {

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

       }

   }

}

void patrat(int a[30][30], int n)

{

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

   {

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

       {

           for (int k = 0; k < n; k++)

           {

               b[i][j] += a[i][k] * a[k][j];

           }

       }

   }

   cout << "Matricea la patrat:" << endl;

   afisare(b, n);

}

void transpusa(int a[30][30], int n)

{

   int aux;

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

   {

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

       {

           if (i <= j)

           {

               aux = a[i][j];

               a[i][j] = a[j][i];

               a[j][i] = aux;

           }

       }

   }

   cout << "Transpusa:" << endl;

   afisare(a, n);

}

int main()

{

   int a[30][30], n;

   cout << "n:";

   cin >> n;

   citire(a, n);

   patrat(a, n);

   transpusa(a, n);

}

Scuze de intarziere!

Sper ca te ajuta

Alte întrebări interesante