Сумма квадратных матриц

Здесь приводится пример программы для вычисления сум­мы целочисленных квадратных матриц, в которой применено динамическое выделение памяти.
#include 
#include 
using namespace std;
int main(){
//Индексные переменные и размер массивов:
int i,j,n;
//Двумерные массивы:
int **A,**B,**C;
//Ввод размера массивов (ранга матриц):
cout << "Enter n = ";
cin >> n;
//Динамическое выделение памяти под одномерные массивы:
A=new int*[n];
B=new int*[n];
C=new int*[n];
//Динамическое выделение памяти для создания двумерных массивов:
for(i=0; i < n; i++){
A[i]=new int[n];
B[i]=new int[n];
C[i]=new int[n];}
//Заполнение массивов:
for(i=0; i < n; i++)
 for(j=0; j < n; j++){
 A[i][j]=rand()%5;
 B[i][j]=rand()%5;
 C[i][j]=A[i][j]+B[i][j];
 }
//Вывод результата (построчный). Верхние строки:
for(i=0; i < n/2; i++){
 for(j=0; j < n; j++) cout << A[i][j] << " ";
 cout<<" ";
 for(j=0; j < n; j++) cout << B[i][j] << " ";
 cout<<" ";
 for(j=0; j < n; j++) cout << C[i][j] << " ";
 cout << endl;
}
//Вывод строки со знаками операций:
for(j=0; j < n; j++) cout << A[n/2][j] << " ";
cout << "+ ";
for(j=0; j < n; j++) cout << B[n/2][j] << " ";
cout << "= ";
for(j=0; j < n; j++) cout << C[n/2][j] << " ";
cout << endl;
//Вывод (построчный) нижних строк результата:
for(i=n/2+1; i < n; i++){
 for(j=0; j < n; j++) cout << A[i][j] << " ";
 cout<<" ";
 for(j=0; j < n; j++) cout << B[i][j] << " ";
 cout<<" ";
 for(j=0; j < n; j++) cout << C[i][j] << " ";
 cout << endl;
}
return 0;
}
В программе создается три целочисленных двумерных динамических массива: две складываемые матрицы и матрица-результат сложения. Перед созданием матриц пользователем вводится целое число, определяющее ранг складываемых матриц (матрицы квадратные). Две исходные матрицы заполняются случайными целыми числами в диапазоне значений от 0 до 4 включительно. Элементы матрицы-результата вычисляются как сумма со­ ответствующих элементов исходных матриц. Исходные матрицы и резуль­тат их сложения отображаются на экране.
Онлайн всего: 2
Гостей: 2
Пользователей: 0

STUDLAB Сообщить про опечатку на сайте