Другие языки программирования и технологии
В матрице А (m, n) (m<=5, n<=7)найти произведение элементов столбика, в котором находится максимальный элемент.
Программа С++
Без rand.
#include <iostream>
#include <windows.h>
#include <vector>
#include <algorithm>
#include <iomanip>
using namespace std;
int main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
system("color 0A");
size_t m, n;
for (;;)
{
cout << "Введите размеры матрицы ";
cin >> m >> n;
if (m <= 5 && n <= 7)
{
break;
}
else
{
cout << "m <= 5 и n <= 7" << endl;
}
}
vector<vector<int>> v(m);
auto gen = []()
{
int t;
cin >> t;
return t;
};
size_t i = 0u;
auto gen_str = [&gen, &n, i]() mutable
{
cout << "Введите в строку через пробел элементы " << ++i << " строки" << endl;
vector<int> temp(n);
generate(temp.begin(), temp.end(), gen);
return temp;
};
cout << "Введите элементы массива" << endl;
generate(v.begin(), v.end(), gen_str);
cout << endl;
cout << "Содержание исходной матрицы" << endl;
for (const auto &t : v)
{
for (const auto &e : t)
{
cout << setw(5) << e;
}
cout << endl;
}
cout << endl;
auto maxx = v[0u][0u];
for (const auto &t : v)
{
for (const auto &e : t)
{
maxx = e > maxx? e : maxx;
}
}
cout << "Максимальное значение элементов матрицы " << maxx << endl;
cout << endl;
cout << "Произведение значений элементов столбиков матрицы, содержащих максимум" << endl;
for (size_t u = 0u; u < n; ++u)
{
auto flag = false;
for (size_t p = 0u; p < m; ++p)
{
if (v[p][u] == maxx)
{
flag = true;
break;
}
}
if (flag)
{
cout << "Засекли максимум в столбике с индексом " << u;
auto pr = 1;
for (size_t p = 0u; p < m; ++p)
{
pr *= v[p][u];
}
cout << " произведение " << pr << endl;
}
}
cout << endl;
system("pause");
return 0;
}

#include <iostream>
#include <windows.h>
#include <vector>
#include <algorithm>
#include <iomanip>
using namespace std;
int main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
system("color 0A");
size_t m, n;
for (;;)
{
cout << "Введите размеры матрицы ";
cin >> m >> n;
if (m <= 5 && n <= 7)
{
break;
}
else
{
cout << "m <= 5 и n <= 7" << endl;
}
}
vector<vector<int>> v(m);
auto gen = []()
{
int t;
cin >> t;
return t;
};
size_t i = 0u;
auto gen_str = [&gen, &n, i]() mutable
{
cout << "Введите в строку через пробел элементы " << ++i << " строки" << endl;
vector<int> temp(n);
generate(temp.begin(), temp.end(), gen);
return temp;
};
cout << "Введите элементы массива" << endl;
generate(v.begin(), v.end(), gen_str);
cout << endl;
cout << "Содержание исходной матрицы" << endl;
for (const auto &t : v)
{
for (const auto &e : t)
{
cout << setw(5) << e;
}
cout << endl;
}
cout << endl;
auto maxx = v[0u][0u];
for (const auto &t : v)
{
for (const auto &e : t)
{
maxx = e > maxx? e : maxx;
}
}
cout << "Максимальное значение элементов матрицы " << maxx << endl;
cout << endl;
cout << "Произведение значений элементов столбиков матрицы, содержащих максимум" << endl;
for (size_t u = 0u; u < n; ++u)
{
auto flag = false;
for (size_t p = 0u; p < m; ++p)
{
if (v[p][u] == maxx)
{
flag = true;
break;
}
}
if (flag)
{
cout << "Засекли максимум в столбике с индексом " << u;
auto pr = 1;
for (size_t p = 0u; p < m; ++p)
{
pr *= v[p][u];
}
cout << " произведение " << pr << endl;
}
}
cout << endl;
system("pause");
return 0;
}

Похожие вопросы
- Помогите с С++. Надо найти произведение элементов одномерного массива между первым и последним 0.
- найти произведение элементов массива, расположенных после максимального по модулю элемента
- Задан массив m на n. Числа m и n вводятся вручную. Заполнить массив случайным образом. Найти произведение чисел от 10 до
- Помогите испрвить код Переписать первые элементы каждой строки матрицы a(n*m), больше некоторого числа C, в массив b .
- в матрице Х (8,5) найти среднее арифметическое значение максимальных элементов в каждой строке
- Написать в С++.В заданной матрице A[1:N,1:M] поменять местами следующие два элемента:
- как решить? Найти сумму элементов прямоугольной матрицы X(n,m), находящихся по периметру этой матрицы. язык: С++
- дана матрица а размерности n на m. Найти максимальный элемент в каждом столбце. Помогите пожалуйста решить. На языке C++
- паскаль Ввести числовую матрицу {Aij}i=1,...n;j=1,...m. Найти произведение сумм элементов строк Помогите решить)
- Найти минимальный элемент в матрице