Вопрос задан 16.06.2023 в 06:58. Предмет Информатика. Спрашивает Огиевич Максим.

С++ Дана целочисленная матрица размером n * m. Среди строк заданной целочисленной матрицы,

содержащих только нечетные элементы, найти строку с максимальной суммой модулей элементов. Решить без использования вектора.
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Galiullina Radalina.

#include <iostream>

using namespace std;

bool check(int *a_, int m_){

   for(int i = 0; i < m_; i++)

       if(!(*(a_ + i) & 1))

           return false;

   return true;

}

int absSum(int *a_, int m_){

   int sum = 0;

   for(int i = 0; i < m_; i++)

       sum += abs(*(a_ + i));

   return sum;

}

void solve(){

   int n, m;

   cin >> n >> m;

   int a[n][m];

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

       for(int j = 0; j < m; j++)

           cin >> a[i][j];

   pair<int, int> res = {-1, -1};

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

       if(check(a[i], m) && absSum(a[i], m) > res.second)

           res = {i, absSum(a[i], m)};

   if(res.first < 0)

       cout << "There are no suitable lines in the given array";

   else

       cout << (res.first + 1);

}

int main(){

   solve();

}

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для решения данной задачи без использования векторов, мы можем пройтись по каждой строке матрицы, проверить, содержит ли она только нечетные элементы, и если да, то посчитать сумму модулей ее элементов. Затем мы будем сравнивать полученные суммы и сохранять индекс строки с максимальной суммой модулей элементов.

Пример кода на Python:

```python def find_max_sum_row(matrix): max_sum = 0 max_sum_row_index = -1

for i in range(len(matrix)): is_odd_row = True row_sum = 0

for j in range(len(matrix[i])): if matrix[i][j] % 2 == 0: is_odd_row = False break row_sum += abs(matrix[i][j])

if is_odd_row and row_sum > max_sum: max_sum = row_sum max_sum_row_index = i

return max_sum_row_index

# Пример использования matrix = [ [1, 3, 5], [2, 4, 6], [7, 9, 11] ]

result = find_max_sum_row(matrix) print(f"Строка с максимальной суммой модулей элементов: {result}") ```

В этом примере мы проходим по каждой строке матрицы и проверяем, содержит ли она только нечетные элементы. Если да, то считаем сумму модулей ее элементов и сравниваем с максимальной суммой, которую мы нашли ранее. В конце возвращаем индекс строки с максимальной суммой модулей элементов.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос