Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

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

Сергей Анфилофьев Ученик (84), на голосовании 5 месяцев назад
Дана матрица размера M х N и целое число K (1 < K < N). Найти сумму и произведение элементов K-го столбца данной матрицы.
Голосование за лучший ответ
Татьяна Просветленный (36384) 6 месяцев назад
 #include  
#include

using namespace std;

int main() {
int M, N, K;
cout << "Введите количество строк (M): ";
cin >> M;
cout << "Введите количество столбцов (N): ";
cin >> N;

// Создаем матрицу M x N
vector> matrix(M, vector(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-го столбца.
Результаты выводятся на экран.

 #include  

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;
}
Сергей АнфилофьевУченик (84) 6 месяцев назад
ошибку выдает
Татьяна Просветленный (36384) Сергей Анфилофьев, https://www.onlinegdb.com/online_c++_compiler запусти и проверь мой код если у тебя не работает значит в твоем ide не установлены библиотеки
ТатьянаПросветленный (36384) 6 месяцев назад
#include <iostream>
#include <vector>
ТатьянаПросветленный (36384) 6 месяцев назад
https://www.onlinegdb.com/online_c++_compiler на этом сайте они автоматом установлены уже
Сергей Анфилофьев Ученик (84) Татьяна, на вашем сайте работает ,проблема в том что у меня приложение codeblock и в другом мне делать нельзя к сожалению И в итоге в codeblock не работает можно ли ее как нибудь по другому написать без вектора можно сделать как то без него ?(#include <vector> )
ТатьянаПросветленный (36384) 6 месяцев назад
2 код - лежит в моем ответе уже
ТатьянаПросветленный (36384) 6 месяцев назад
удачи тебе
Сергей Анфилофьев Ученик (84) Татьяна, спасибо и вам
Похожие вопросы