Терпеливая Граната
Мыслитель
(6215)
6 месяцев назад
Вот решение задачи на C++:
#include <iostream>
#include <vector>
int main() {
int rows, cols;
// Запрашиваем у пользователя количество строк и столбцов
std::cout << "Enter the number of rows and columns: ";
std::cin >> rows >> cols;
// Создаем двумерный вектор для хранения значений
std::vector<std::vector<int>> matrix(rows, std::vector<int>(cols));
// Заполняем матрицу значениями
std::cout << "Enter the matrix elements:\n";
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
std::cin >> matrix[i][j];
}
}
// Вычисляем сумму элементов в каждом столбце
std::vector<int> columnSums(cols, 0);
for (int j = 0; j < cols; j++) {
for (int i = 0; i < rows; i++) {
columnSums[j] += matrix[i][j];
}
}
// Находим индекс столбца с наименьшей суммой
int minColumnIndex = 0;
int minColumnSum = columnSums[0];
for (int j = 1; j < cols; j++) {
if (columnSums[j] < minColumnSum) {
minColumnIndex = j;
minColumnSum = columnSums[j];
}
}
std::cout << "The column with the smallest sum is column " << minColumnIndex << ".\n";
return 0;
}
Алгоритм решения: 1. Запрашиваем у пользователя количество строк и столбцов. 2. Создаем двумерный вектор для хранения значений матрицы. 3. Заполняем матрицу значениями, введенными пользователем. 4. Вычисляем сумму элементов в каждом столбце и сохраняем их в отдельном векторе. 5. Находим индекс столбца с наименьшей суммой. 6. Выводим результат. Примечание: Если в матрице есть несколько столбцов с одинаковой минимальной суммой, программа выведет индекс первого из них.