Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
4
Добавлен:
12.02.2018
Размер:
1.46 Кб
Скачать
#include <iostream>
#include <cmath>
using namespace std;
void main()
{
	setlocale(LC_ALL, "Russian");
	int a[3][3], b[3][3], c[3][3], i, j, k, n, s;
	cout << "Заполните массивы: \nA: \n \n";
	for (i = 0; i < 3; i++) //Заполнение первого массива
		for (j = 0; j < 3; j++)
			cin >> a[i][j];
	cout << "\nB: \n \n";
	for (i = 0; i < 3; i++) //Заполнение второго массива
		for (j = 0; j < 3; j++)
			cin >> b[i][j];
	cout << "\nНовый массив: \n \n";
	for (i = 0; i < 3; i++) //Получение нового массива перемножением 2-х начальных матриц и его вывод на экран
	{
		for (j = 0; j < 3; j++)
		{
			c[i][j] = 0;
			for (k = 0; k < 3; k++)
				c[i][j] += a[i][k] * b[k][j];
			cout << c[i][j] << " \t";
		}
		cout << endl << endl;
	}
	cout << "Введите степень (>1), в которую хотите возвести первую матрицу: \n \n";
	cin >> n; //Считывание степени
	cout << endl;
	for (i = 0; i < 3; i++) //Присвоение второму массиву значений первого
		for (j = 0; j < 3; j++)
			b[i][j] = a[i][j];
	for (s = 0; s < n - 1; s++) //Возведение в степень
	{
		for (i = 0; i < 3; i++)
			for (j = 0; j < 3; j++)
			{
				c[i][j] = 0;
				for (k = 0; k < 3; k++)
					c[i][j] += a[i][k] * b[k][j];
			}
		for (i = 0; i < 3; i++)
			for (j = 0; j < 3; j++)
				b[i][j] = c[i][j];
	}
	for (i = 0; i < 3; i++) //Вывод получившейся матрицы
	{
		for (j = 0; j < 3; j++)
			cout << c[i][j] << " \t";
		cout << endl << endl;
	}
	system("pause");
}
Соседние файлы в папке Лабораторные