Заполните двумерный числовой массив М (7,7) случайными целыми числами в интервале [-6; 8]. Выведите значения элементов массива в виде матрицы. Ответ каждой задачи следует выводить с новой строки и с пояснительным текстом. Кроме того, следует каждый раз производить вывод массива на экран, если в нём произошли изменения: перестановка, замена, изменение значения элементов и т. д.
Задача 1.
Найдите произведение отрицательных элементов четвёртого столбца.
Задача 2.
Определите сумму элементов нечётных элементов массива.
Задача 3.
Замените элементы, имеющие нечётное значение и стоящие на главной диагонали, на цифру 2.
C/C++
Помогите пожалуйста не понимаю как делать. Буду очень благодарен
#include <algorithm>
#include <iostream>
#include <iomanip>
#include <numeric>
#include <ctime>
using namespace std;
int main() {
const int SIZE = 7;
int matrix[SIZE][SIZE];
srand(time(0));
for (auto& ar : matrix) generate(ar, ar + SIZE, [](){return rand() % 15 - 6;});
cout << "The generated matrix:\n";
for(const auto& ar : matrix) {
for_each(ar, ar + SIZE, [](int i){cout << setw(5) << i;});
cout << "\n";
}
int product = 1;
for (const auto& ar : matrix) if (ar[4] < 0) product *= ar[4];
cout << "\n1. The product of the negative elements of the fourth column is " << product << "\n";
int sum = 0;
for (const auto& ar : matrix) {
sum += accumulate(ar, ar + SIZE, 0, [](int a, int b) {return ~b & 1? a + b : a;});
}
cout << "\n2. The sum of the odd elements of the matrix is " << sum << "\n";
cout << "\n3. The modified matrix:\n";
for (int i = 0; i < SIZE; ++i) {
for (int j = 0; j < SIZE; ++j) {
if (i == j && matrix[i][j] < 0) matrix[i][j] = 2;
cout << setw(5) << matrix[i][j];
}
cout << "\n";
}
return 0;
}
#include <iostream>
#include <iomanip>
#include <numeric>
#include <ctime>
using namespace std;
int main() {
const int SIZE = 7;
int matrix[SIZE][SIZE];
srand(time(0));
for (auto& ar : matrix) generate(ar, ar + SIZE, [](){return rand() % 15 - 6;});
cout << "The generated matrix:\n";
for(const auto& ar : matrix) {
for_each(ar, ar + SIZE, [](int i){cout << setw(5) << i;});
cout << "\n";
}
int product = 1;
for (const auto& ar : matrix) if (ar[4] < 0) product *= ar[4];
cout << "\n1. The product of the negative elements of the fourth column is " << product << "\n";
int sum = 0;
for (const auto& ar : matrix) {
sum += accumulate(ar, ar + SIZE, 0, [](int a, int b) {return ~b & 1? a + b : a;});
}
cout << "\n2. The sum of the odd elements of the matrix is " << sum << "\n";
cout << "\n3. The modified matrix:\n";
for (int i = 0; i < SIZE; ++i) {
for (int j = 0; j < SIZE; ++j) {
if (i == j && matrix[i][j] < 0) matrix[i][j] = 2;
cout << setw(5) << matrix[i][j];
}
cout << "\n";
}
return 0;
}
Похожие вопросы
- Помогите, пожалуйста, задачу решить, времени не хватает, буду благодарен
- Помогите пожалуйста. Буду очень благодарен
- Решите пожалуйста на С++. Буду очень благодарен за помощь.
- Помогите пожалуйста решить задачу, буду благодарен
- Помогите пожалуйста. Я не понимаю как решать подобные задачки.
- Помоги пожалуйста с программой в С++
- Помогите пожалуйста написать программу на Си
- Помогите пожалуйста уже голову сломал, ничего не получается, когда перегружаю шаблонный оператор << ,
- Помогите пожалуйста с Массивами .В языке С .Заполнил 2-мерный массив N и M случайными числами дальше не понимаю.
- С++, реализовать код с помощью функции, помогите пожалуйста, очень нужно