- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 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
#include "stdafx.h"
#include<iostream>
#include<vector>
using namespace std;
/*
Задание: перемножить две матрицы и вывести результат на экран
*/
vector<vector<int>> inputToVector(int n,int m) {
vector<vector<int>>vec(n, vector<int>(m));
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
cin >> vec[i][j];
}
}
return vec;
}
template<class T>
void multiple(vector<T>a,vector<T>b,int x1,int y1,int y2) {
int ans = 0;
for (int i = 0; i < x1; i++) {
for (int j = 0; j < y2; j++) {
for (int k = 0; k < y1; k++) {
ans += a[i][k] * b[k][j];
}
cout << ans << '\t';
ans = 0;
}
cout << endl;
}
}
int main()
{
setlocale(LC_ALL, "Russian");
int x1, y1, x2, y2,temp;
cout << "Требуется вычислить произведение двух матриц А и В" << endl;
cout << "Введите размерность матрицы А" << endl;
cin >> x1 >> y1;
cout << "Введите элементы матрицы А" << endl;
vector<vector<int>>one = inputToVector(x1, y1);
cout << "Введите размерность матрицы B" << endl;
cin >> x2 >> y2;
cout << "Введите элементы матрицы B" << endl;
vector<vector<int>>two = inputToVector(x2, y2);
cout << "Результирующая матрица, полученная перемножением матрицы А на матрицу В" << endl;
multiple(one, two, x1, y1, y2);
system("pause");
return 0;
}
shit 13.04.2018 10:43 # 0
1024-- 13.04.2018 12:01 # +1
shit 13.04.2018 12:18 # 0
Эт не про меня
gost 13.04.2018 12:10 # 0
Таких лаб первокурсники сотнями каждый год делают.
shit 13.04.2018 12:21 # 0
result: 1
gost 13.04.2018 12:22 # +1
shit 13.04.2018 12:26 # 0
>�^{√|-93-(=∆�vdZh-E^{×€gdjvklo
Steve_Brown 13.04.2018 12:30 # +1
А так - да, неправильная с точки зрения праткик программирования, но аккуратная лаба...
shit 13.04.2018 19:48 # 0
shit 13.04.2018 12:38 # +1
,
а
?
1024-- 13.04.2018 13:00 # 0