• Задача на C++. Двумерный массив 5*5. Для каждой строки заданной матрицы определить и напечатать сумму элементов столбцов с чётными номерами. Для каждого столбца заданной матрицы найти и напечатать максимальный элемент.

Ответы 5

  • Спасибо Вам огромное, но всё же есть один небольшой вопрос. Почему max присваивается -1, подскажите, пожалуйста!
    • Автор:

      aarav
    • 6 лет назад
    • 0
  • Пожалуйста, подскажите, как заполнять в данной задаче массив с клавиатуры?
  • max при присваивается -1, для того, чтобы оно гарантировано сработало. То есть, оно в самом начале выступает лишь для того, чтобы дать толчок к поиску числа. Единственное, что если вы будете находить числа, в которых числа могут быть отрицательными, вам max надо присвоить оооочень маленькое число, например " INT_MIN". По обратному принципу работает и поиск минимального числа, только на этот раз ему надо присвоить как можно большее число.
  • Заполнить массив можно так:cout << rowNum + 1 << "-я строка ";cout << columnNum + 1 << "-й столбец: ";cin >> А[rowNum][columnNum];
  • Решение данной задачи будет выглядеть вот так:

    int main()

    {

    setlocale(LC_ALL, "Rus");  

    int A[5][5] = {

     {10, 4, 5, 34, 12},

     {32, 6, 23, 15, 22},

     {10, 4, 7, 32, 6},

     {3, 22, 21, 15, 8},

     {9, 4, 31, 19, 5}  

    };  

    int n = 5;

    int sum = 0;

    int max = -1;  

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

    {

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

     {

      cout << A[i][j] << "\t";

     }

     cout << endl;  

    }

    cout << endl;

    cout << "Сумма элементов столбцов с чётными номерами:" << endl;

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

    {

     sum = 0;

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

     {

      if (j % 2 == 0)  //Проверка на парность "j % 2 == 0" - остаток от деление на 2 равен 0

      {

       sum += A[i][j];

      }    

     }

     cout << i+1 << ": " << sum << endl;

    }

    cout << endl;  

    cout << "Максимальный элемент для каждого столбца:" << endl;

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

    {

     max = -1;

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

     {

      if (max <= A[i][j])

      {

       max = A[i][j];

      }

     }

     cout << j + 1 << ": " << max << endl;

    }

    cout << endl;  

       return 0;

    }

  • Добавить свой ответ

Еще вопросы

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years