#include<iostream>
#include<Windows.h>
#include<time.h>
using namespace std;
void MatrAlloc(int ***a, int n, int m) {
*a = new int*[n];
for (int i = 0; i < n; i++) {
(*a)[i] = new int[m];
}
}
void MatrGen(int** a, int n, int m) {
for (int i = 0; i < n; ++i) {
for (int j = 0; j < m; ++j) {
a[i][j] = rand() % 20 + 1;
}
}
}
void MatrOutp(int** a, int n, int m) {
for (int i = 0; i < n; ++i) {
for (int j = 0; j < m; ++j) {
cout << a[i][j] << "\t";
}
cout << endl;
}
}
int SumMatrix(int** a, int** b, int n1, int m1, int n2, int m2, int** c) {
if (n1 != n2 || m1 != m2) return -1;
for (int i = 0; i < n1; ++i) {
for (int j = 0; j < m1; ++j) {
c[i][j] = a[i][j] + b[i][j];
}
}
}
int MatrTransp(int** a, int n1, int m1, int** c, int n2, int m2) {
if (n1 != m2 || m1 != n2) return -1;
for (int i = 0; i < n1; ++i) {
for (int j = 0; j < m1; ++j) {
c[j][i] = a[i][j];
}
}
}
int MatrMult(int** a, int n1, int m1) {
int k;
cout << "Введите k: ";
cin >> k;
for (int i = 0; i < n1; i++)
{
for (int j = 0; j < m1; j++)
{
a[i][j] = (a[i][j]) * k;;
}
}
}
int main() {
int ** A, ** B, ** res, ** a;
int a1, a2, b1, b2, k1=0;
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
srand(0);
cout << "Введите количество строк матрицы A: ";
cin >> a1;
cout << "Введите количество столбцов матрицы A: ";
cin >> a2;
cout << "Введите количество строк матрицы B: ";
cin >> b1;
cout << "Введите количество столбцов матрицы B: ";
cin >> b2;
system("cls");
MatrAlloc(&A, a1, a2);
MatrAlloc(&B, b1, b2);
MatrGen(A, a1, a2);
MatrGen(B, b1, b2);
cout << "Матрица A:" << endl;
MatrOutp(A, a1, a2);
cout << "\nМатрица B:" << endl;
MatrOutp(B, b1, b2);
MatrAlloc(&res, a1, a2);
cout << "\nМатрица C (A+B):" << endl;
SumMatrix(A, B, a1, a2, b1, b2, res);
MatrOutp(res, b1, b2);
MatrAlloc(&a, a2, a1);
MatrTransp(res, b1, b2, a, b2, b1);
cout << "\nМатрица C(t):" << endl;
MatrOutp(a, b2, b1);
cout << "\nМатрица k*A:" << endl;
MatrMult(A, a1, a2);
MatrOutp(A, a1, a2);
printf("\n");
system("pause");
return 0;
}
Изменила int MatrMult(int** a, int n1, int m1)
на void MatrMult(int** a, int n1, int m1)
и всё заработало. Спасибо @Harry!
у тебя методы, которые должны возвращать int возвращают int не во всех случаях.
например,
int SumMatrix(int** a, int** b, int n1, int m1, int n2, int m2, int** c) {
if (n1 != n2 || m1 != m2) return -1;
for (int i = 0; i < n1; ++i) {
for (int j = 0; j < m1; ++j) {
c[i][j] = a[i][j] + b[i][j];
}
}
//не вернёт ничего, когда дойдёт до этого места
}
Если тебе нужен от метода какой-то результат, то метод должен вернуть данные того типа, который ты указыаешь, объявляя его. В твоём случае можно было бы не int возвращать, а bool, это уже зависит от того, что ты хочешь.
//в логику самого метода не лез
bool SumMatrix(int** a, int** b, int n1, int m1, int n2, int m2, int** c) {
if (n1 != n2 || m1 != m2) return false;
for (int i = 0; i < n1; ++i) {
for (int j = 0; j < m1; ++j) {
c[i][j] = a[i][j] + b[i][j];
}
}
return true;
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Всем приветЕсть проект на vue с компонентами(
Предварительно прошу прощения за примитивный вопрос, но я в тупике) Пытаюсь разобраться с Bootstrap 4 и сверстать примитивную карточку товаров,...
Вообщем, пишу я небольшой бот на puppeter который собирает информацию, и мне нужно переключить select на странице програмно, я его переключаю: