Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
5
Добавлен:
12.02.2018
Размер:
1.43 Кб
Скачать
#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");
}
Соседние файлы в папке Лабораторные