Определить столбец с минимальным значением этой суммы и вывести его номер на экран
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
setlocale(LC_ALL, "Russian");
int N, M, summ, min = 0;
cout << "Введите размер матрицы: \n";
cin >> N >> M;
int** A = new int* [N];
for (int i = 0; i < N; i++)
A[i] = new int[M];
cout << "Введите значения матрицы: \n";
for (int i = 0; i < N; i++)
for (int j = 0; j < M; j++) {
printf("\nA[%d][%d] = ", i, j);
cin >> A[i][j];
}
cout << "Вот Ваша матрица:" << endl << endl;
for (int i = 0; i < N; i++)
{
for (int j = 0; j < M; j++)
cout << A[i][j] << " ";
cout << endl;
}
cout << "\nИскомые суммы в столбцах:" << endl;
for (int j = 0; j < M; j++)
{
summ = 0;
for (int i = 0; i < N; i++)
{
if (A[i][j] >= 0) summ += A[i][j];
}
cout << "Cтолбец №" << j + 1 << ": " << summ << endl;
}
}
Должно вывести "Минимальный столбец этой суммы: 1"
Ответы (1 шт):
Автор решения: Harry
→ Ссылка
cout << "\nИскомые суммы в столбцах:" << endl;
int min_idx = 0, min_sum = INT_MAX;
for (int j = 0; j < M; j++)
{
summ = 0;
for (int i = 0; i < N; i++)
{
if (A[i][j] >= 0) summ += A[i][j];
}
if (min_sum > summ) min_idx = j;
cout << "Cтолбец №" << j + 1 << ": " << summ << endl;
}
cout << "Минимальный столбец этой суммы: " << min_idx << endl;
