Давид
6 год назад
Напишите код программы на c++ для решения следующей задачи: дана матрица размером m*n. Вычислите суммы элементов каждого столбца. Определите наибольшее значение этих сумм и номер соответствующего столбца.
ОТВЕТЫ
Валаам
Jul 23, 2019
#include lt;iostreamgt;
using namespace std;
int main()
{
int m, n;
// Выделение памяти и ввод матрицы
cout lt;lt; "m = ";
cin gt;gt; m;
cout lt;lt; "n = ";
cin gt;gt; n;
int **matrix = new int*[m];
for (int i = 0; i lt; m; ++i)
{
matrix[i] = new int[n];
for (int j = 0; j lt; n; ++j)
cin gt;gt; matrix[i][j];
}
// Вычисление суммы элементов каждого столбца. Определение наибольшего
// значения этих сумм и номер соответсвующего столбца
int sum, max_sum = INT_MIN, max_column;
for (int j = 0; j lt; n; ++j)
{
sum = 0;
for (int i = 0; i lt; m; ++i)
sum += matrix[i][j];
cout lt;lt; "Column " lt;lt; j lt;lt; " - sum " lt;lt; sum lt;lt; endl;
if (sum gt; max_sum)
{
max_sum = sum;
max_column = j;
}
}
cout lt;lt; "Max sum in column " lt;lt; max_column lt;lt; ". Max sum is " lt;lt; max_sum lt;lt; "." lt;lt; endl;
// Удаление матрицы
for (int i = 0; i lt; m; ++i)
delete[] matrix[i];
delete[] matrix;
}
using namespace std;
int main()
{
int m, n;
// Выделение памяти и ввод матрицы
cout lt;lt; "m = ";
cin gt;gt; m;
cout lt;lt; "n = ";
cin gt;gt; n;
int **matrix = new int*[m];
for (int i = 0; i lt; m; ++i)
{
matrix[i] = new int[n];
for (int j = 0; j lt; n; ++j)
cin gt;gt; matrix[i][j];
}
// Вычисление суммы элементов каждого столбца. Определение наибольшего
// значения этих сумм и номер соответсвующего столбца
int sum, max_sum = INT_MIN, max_column;
for (int j = 0; j lt; n; ++j)
{
sum = 0;
for (int i = 0; i lt; m; ++i)
sum += matrix[i][j];
cout lt;lt; "Column " lt;lt; j lt;lt; " - sum " lt;lt; sum lt;lt; endl;
if (sum gt; max_sum)
{
max_sum = sum;
max_column = j;
}
}
cout lt;lt; "Max sum in column " lt;lt; max_column lt;lt; ". Max sum is " lt;lt; max_sum lt;lt; "." lt;lt; endl;
// Удаление матрицы
for (int i = 0; i lt; m; ++i)
delete[] matrix[i];
delete[] matrix;
}
96
Смежные вопросы: