Предмет: Информатика, автор: Alaska3109

дан двумерный массив A, размером n'n. Найти произведение элементов массива, больших заданого числа alfa и меньших заданого числа betta
C++
Хотя бы алгоритм

Ответы

Автор ответа: pz4t9v0d4tly
0

int arr[n][n]; или std::vector<std::vector<int>> arr;

заполняем массив, чтото вроде

for(int i = 0; i<n; ++i) {

for(int j = 0; j<n; ++j) {

cin >> arr[i][j]; или arr[i][j] = rand(); rand() в <cstdlib> перед этим srand(любое число)

}

}

далее создаём 2 массива odd и even

std::vector<int> odd и even;

Допиливаем цикл сверху чтобы 1 - выводил массив 2 - добавлял элементы в odd/even

for{ for {

if(arr[i][j]%2==0) {

even.push_back(arr[i][j]);

} else {

odd.push_back(arr[i][j])

}

}}

далее немножечко формулировку не понял. надо найти произведение соответствующих элементов или сумму всех odd * сумма всех even.

будем с суммой. int oddSum = 0; и int evenSum = 0;

допиливаем тот if else

if(arr[i][j]%2==0) {

even.push_back(arr[i][j]);

evenSum+=arr[i][j];

} else {

odd.push_back(arr[i][j]);

oddSum+=arr[i][j];

}

}}

cout << oddSum*evenSum;

сейчас понял, что немножно ошибся, и там надо проверять не на кратность двум а по условию. вот допиленное решение

for{ for {

...

if(arr[i][j]>alfa) {

even.push_back(arr[i][j]);

} if(arr[i][j]<betta) {

odd.push_back(arr[i][j])

}

}} cout << oddSum*evenSum;

Похожие вопросы
Предмет: Математика, автор: мария2117