Добавил:
AiSora
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Лабораторные / Лаб6
.cpp#include <iostream>
#include <cmath>
using namespace std;
void st(int stp, int num, int **a, int **b, int **c)
{
int o, p, k;
for (stp = 1; stp < num-1; stp++)
{
for (o = 0; o < num; o++)
for (p = 0; p < num; p++)
{
c[o][p] = 0;
for (k = 0; k < num; k++)
c[o][p] += a[o][k] * b[k][p];
}
for (o = 0; o < num; o++)
for (p = 0; p < num; p++)
b[o][p] = c[o][p];
}
};
void DeleteArray(int **arr, int N)
{
for (int i = 0; i<N; i++)
delete[] arr[i];
delete[] arr;
}
void main()
{
setlocale(LC_ALL, "Russian");
int i, j;
int *n = new int;
int *step = new int;
cout << "Введите размерность массива \n \n";
cin >> *n;
cout << endl << "Введите степень \n \n";
cin >> *step;
int **mass = new int* [*n];
int **temp = new int* [*n];
int **rez = new int* [*n];
for (i = 0; i < *n; i++)
mass[i] = new int[*n];
for (i = 0; i < *n; i++)
temp[i] = new int[*n];
for (i = 0; i < *n; i++)
rez[i] = new int[*n];
cout << endl << "Заполните массив: \nA: \n \n";
for (i = 0; i < *n; i++)
for (j = 0; j < *n; j++)
{
cin >> mass[i][j];
temp[i][j] = mass[i][j];
}
st(*step, *n, mass, temp, rez);
for (i = 0; i < *n; i++)
{
for (j = 0; j < *n; j++)
cout << rez[i][j] << "\t ";
cout << endl;
}
DeleteArray(mass, *n);
DeleteArray(temp, *n);
DeleteArray(rez, *n);
delete n;
delete step;
system("pause");
}