Top.Mail.Ru
Ответы

Программирование С++ помогите решить

Дана матрица размера M х N и целое число K (1 < K < N). Найти сумму и произведение элементов K-го столбца данной матрицы.

По дате
По рейтингу
Аватар пользователя
Просветленный
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
 #include <iostream> 
#include <vector> 
 
using namespace std; 
 
int main() { 
    int M, N, K; 
    cout << "Введите количество строк (M): "; 
    cin >> M; 
    cout << "Введите количество столбцов (N): "; 
    cin >> N; 
 
    // Создаем матрицу M x N 
    vector<vector<int>> matrix(M, vector<int>(N)); 
 
    // Ввод элементов матрицы 
    cout << "Введите элементы матрицы:" << endl; 
    for (int i = 0; i < M; ++i) { 
        for (int j = 0; j < N; ++j) { 
            cin >> matrix[i][j]; 
        } 
    } 
 
    // Ввод номера столбца K 
    cout << "Введите номер столбца K (1 < K < N): "; 
    cin >> K; 
 
    // Проверка правильности ввода K 
    if (K <= 1 || K >= N) { 
        cout << "Неправильный номер столбца K!" << endl; 
        return 1; 
    } 
 
    // Переход к индексированию с нуля 
    K -= 1; 
 
    // Вычисление суммы и произведения элементов K-го столбца 
    int sum = 0; 
    int product = 1; 
    for (int i = 0; i < M; ++i) { 
        sum += matrix[i][K]; 
        product *= matrix[i][K]; 
    } 
 
    // Вывод результатов 
    cout << "Сумма элементов K-го столбца: " << sum << endl; 
    cout << "Произведение элементов K-го столбца: " << product << endl; 
 
    return 0; 
}  


Пояснение программы:
Сначала запрашивается количество строк M и столбцов N матрицы.
Затем создается матрица размера M x N с использованием вектора векторов.
Пользователь вводит элементы матрицы.
Далее запрашивается номер столбца K, проверяется его корректность.
Индекс K уменьшается на 1, чтобы перейти от пользовательского ввода (1-based) к индексации C++ (0-based).
Вычисляется сумма и произведение элементов K-го столбца.
Результаты выводятся на экран.

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
 #include <iostream> 
 
using namespace std; 
 
int main() { 
    int M, N, K; 
    cout << "Введите количество строк (M): "; 
    cin >> M; 
    cout << "Введите количество столбцов (N): "; 
    cin >> N; 
 
    // Создаем матрицу M x N 
    int matrix[M][N]; 
 
    // Ввод элементов матрицы 
    cout << "Введите элементы матрицы:" << endl; 
    for (int i = 0; i < M; ++i) { 
        for (int j = 0; j < N; ++j) { 
            cin >> matrix[i][j]; 
        } 
    } 
 
    // Ввод номера столбца K 
    cout << "Введите номер столбца K (1 < K < N): "; 
    cin >> K; 
 
    // Проверка правильности ввода K 
    if (K <= 1 || K >= N) { 
        cout << "Неправильный номер столбца K!" << endl; 
        return 1; 
    } 
 
    // Переход к индексированию с нуля 
    K -= 1; 
 
    // Вычисление суммы и произведения элементов K-го столбца 
    int sum = 0; 
    int product = 1; 
    for (int i = 0; i < M; ++i) { 
        sum += matrix[i][K]; 
        product *= matrix[i][K]; 
    } 
 
    // Вывод результатов 
    cout << "Сумма элементов K-го столбца: " << sum << endl; 
    cout << "Произведение элементов K-го столбца: " << product << endl; 
 
    return 0; 
}