1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
| #include "stdafx.h"
#include <iostream>//Подключение заголовочного файла для работы с функциями, процедурами, вводом-выводом в С++
#include <stdlib.h>//Подключение заголовочного файла для системной паузы
#include <conio.h> //для подключения локализации для русских букв
using namespace std;//Подключение пространства имен (работает вместе с iostream)
void input (float a[100][100], int n);//Процедура ввода матрицы
void output (float a[100][100], int n);//Процедура вывода матрицы
void plus (float a[100][100], float b[100][100], int n);//Процедура сложения матриц
void minus (float a[100][100], float b[100][100], int n);//Процедура вычитания матриц
void multi (float a[100][100], float b[100][100], int n);//Процедура произведения матриц
int _tmain(int argc, _TCHAR* argv[])//Параметры функции _tmain
{
setlocale(LC_ALL,"Rus"); //локализация для русских букв
float a[100][100];
float b[100][100];
int n;
//ввод данных
cout<<"Введите размерность матрицы n=";
cin>>n;cout<<endl;
cout<<"Введите элементы 1 матрицы:"<<endl;
input(a,n);
cout<<"Введите элементы 2 матрицы:"<<endl;
input(b,n);
//вывод данных
cout<<"1 матрица:"<<endl;
output(a,n);
cout<<"2 матрица:"<<endl;
output(b,n);
cout<<"Сумма матриц:"<<endl;
plus(a,b,n);
cout<<"Разность матриц:"<<endl;
minus(a,b,n);
cout<<"Произведение матриц:"<<endl;
multi(a,b,n);
system("pause");
}
void input (float a[100][100],int n) {
for (int i=0; i<n; i++) {
for (int j=0; j<n; j++){
cout<<"Vvedite ["<<i<<","<<j<<"]=";
cin>>a[i][j];cout<<endl;
}}}
void output (float a[100][100], int n) {
for (int i=0; i<n; i++) {
for (int j=0; j<n; j++){
cout<<a[i][j]<<" ";
}cout<<"\n";
}}
//сложение матриц
void plus (float a[100][100], float b[100][100], int n) {
float c[100][100];
for (int i=0; i<n; i++) {
for (int j=0; j<n; j++){
c[i][j]=a[i][j]+b[i][j];
cout<<c[i][j]<<" ";
}cout<<"\n";
;}}
//разность матриц
void minus (float a[100][100], float b[100][100], int n) {
float c[100][100];
for (int i=0; i<n; i++) {
for (int j=0; j<n; j++){
c[i][j]=a[i][j]-b[i][j];
cout<<c[i][j]<<" ";
}cout<<"\n";
;}}
//умножение матриц
void multi (float a[100][100], float b[100][100], int n) {
float sum;
float c[100][100];
for (int i=0; i<n; i++) {
for (int j=0; j<n; j++){
sum = 0;
for (int k = 0; k < n; k++)
sum += a[i][k] * b[k][j];
c[i][j] = sum;
}}
for (int i=0; i<n; i++) {
for (int j=0; j<n; j++){
cout<<c[i][j]<<" ";
}cout<<"\n";
}
} |