GVA SUPPORT

Відповідь на запитання № 1301629698
Text:
	ФІО = Горбаченко В.А.

 Запитання:     /* Лаба 4. Варіант 4  Матриці */
#include <iostream>
#include <cstdlib>  // тут rand (), srand ()
#include <stdio.h>
#include <conio.h>  // 

using namespace std; // підключаємо все необхідне для роботи програми
void PrintMas(double *A,int n){// ДрукМатриці. Приймає вказівник на перший 
//елемент масиву і кількість елементів
     for (int i = 0 ; i < n ; i++){
         for (int j = 0 ; j < n ; j++){
             cout<<*(A+i*n+j)<<"\t ";
         }
         cout<<endl;
     }
     cout<<endl;
     return ;
}
void EnterMas(double *A,int n){// Заповнення матриці з клави. Парам.аналог.якв^^
     for (int i = 0 ; i < n ; i++){
         for (int j = 0 ; j < n ; j++){           
             cout<<"Enter Matrix ["<<j+1<<"]x["<<i+1<<"] = ";
             cin>>*(A+i*n+j);           
         }
     }
     return ;
}
void FillBMas(double *B,int n){ // Заповнює матрицю B. Параметри аналогічні ^^
     for (int i = 0 ; i < n ; i++){
         for (int j = 0 ; j < n ; j++){              
             if (1<=i && i<=j && j<=n){ // якщо виконується задана умова             
                  *(B+i*n+j)=1/double(2 * (i+1) - (j+1) + 3);
             }// якщо ні
             else{
                  *(B+i*n+j)=1/double(3 * (i+1) + (j+1) - 2);                  
             }
         }
     }
     return ;
}
void MnojMartixMas(double *A,double *B, double *C,int n){
// множення матриці. Приймає вказіники на початки масивів A,B,C та розмірність
    for(int irow = 0; irow < n; irow++) 
        for(int icol = 0; icol < n; icol++) {
            double sum = 0;
            for(int k = 0; k < n; k++) {
                sum += (*(A+irow*n+k)) * (*(B+k*n+icol));
            }
            *(C+irow*n+icol) = sum;
        }
     return ;
}
main ()
{
     int n; // розмірність матриці
     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 [n*n]; // створюємо вказівники на масиви 
     double *B = new double [n*n]; // розмірністю n x n 
     double *C = new double [n*n]; // дійсний тип

     EnterMas(A,n); // заповнюємо масив A розм. n*n з клави
     PrintMas(A,n); // друк масив A розм. n*n
     FillBMas(B,n); // заповнюємо масив B розм. n*n за умовою
     PrintMas(B,n); // друк масив B розм. n*n
     MnojMartixMas(A,B,C, n); // множення матриць C=A x B; розмірність n*n 
     PrintMas(C,n); // друк масив C розм. n*n
     delete(A);  delete(B);  delete(C);     // звільняємо пам'ять
     system ("PAUSE");
     return 0;
}


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