GVA SUPPORT

Відповідь на запитання № 1308392141
Text:
	ФІО = Для Ванию

 Запитання:// матрица на матрицу транспонированую. ВРоде не правильно считает... проверяй...
#include <iostream>
#include <cstdlib>  // тут rand (), srand ()
#include <stdio.h>
#include <conio.h>  // 

using namespace std; // підключаємо все необхідне для роботи програми

void PrintMas(double *A,int m,int n){// ДрукМатриці. Приймає вказівник на перший 
//елемент масиву і кількість елементів
     for (int i = 0 ; i < n ; i++){
         for (int j = 0 ; j < m ; j++){
             cout<<*(A+i*m+j)<<"\t ";
         }
         cout<<endl;
     }
     cout<<endl;
     return ;
}

void EnterMas(double *A,int m,int n){// Заповнення матриці з клави. Парам.аналог.якв^^
     for (int i = 0 ; i < n ; i++){
         for (int j = 0 ; j < m ; j++){           
             cout<<"Enter Matrix ["<<j+1<<"]x["<<i+1<<"] = ";
             cin>>*(A+i*m+j);           
         }
     }
     return ;
}


void MnojMartixMas(double *A, double *C,int m,int n){
// множення матриці. Приймає вказіники на початки масивів A,B,C та розмірність
    for(int irow = 0; irow < n; irow++) 
        for(int icol = 0; icol < m; icol++) {
            double sum = 0;
            for(int k = 0; k < m; k++) {
//                sum += (*(A+irow*m+k)) * (*(A+k*n+icol));
                sum += (*(A+irow*m+k)) * (*(A+k*n+icol));
            }
            *(C+irow*m+icol) = sum;
        }
     return ;
}


main ()
{
     int m, n; // розмірність матриці

     do{
          cout<<"Matrix\n Enter M = ";
          cin>>m;
          if (m<=0)  cout<<"ERROR : M > 0 !\n";
     }while (m<=0); // не даємо вийти, поки не буде введено m>0


     do{
          cout<<"Matrix\n Enter N = ";
          cin>>n;
          if (n<=0)  cout<<"ERROR : N > 0 !\n";
     }while (n<=0); // не даємо вийти, поки не буде введено n>0

     double *A = new double [m*n]; // створюємо вказівники на масиви 
     double *C = new double [m*n]; // розмірністю n x n      
     


     EnterMas(A,m,n); // заповнюємо масив A розм. n*n з клави

     
     PrintMas(A,m,n); // друк масив A розм. n*n
     
     MnojMartixMas(A, C,m, n);
     
     PrintMas(C,n,m); // друк масив C розм. n*n

     delete(A);   delete(C);     // звільняємо пам'ять
     system ("PAUSE");
     return 0;
}


====================================	
Ваша відповідь