Дана матрица, получить вектор наибольших значений ее строк - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Дана матрица A(n*m). Получить вектор b1, b2, ..., bn, где bi равно наибольшему значению в строке.

Решение задачи: «Дана матрица, получить вектор наибольших значений ее строк»

textual
Листинг программы
  1. int i, j, n, m;
  2. double a[50][50];
  3. double b[50];
  4.  
  5. n = 7;
  6. m = 9;
  7.  
  8. // Заполнение массива    
  9. for (i = 0; i < n; i++)
  10. {
  11.     for (j = 0; j < m; j++)
  12.     {
  13.         a[i][j] = rand() % 20 - 10;
  14.         printf("%6.2lf  ", a[i][j]);
  15.     }
  16.     printf("\n");
  17. }
  18. printf("\n");
  19.  
  20. // Формирование вектора
  21.  for ( i = 0; i < n; i++)
  22. {
  23.     b[i] = -1000000;
  24.     for ( j = 0; j < m; j++)
  25.     {
  26.         if (a[i][j] > b[i]) b[i] = a[i][j];
  27.     }
  28.  
  29.     printf("b[%d] = %f\r\n", i, b[i]);
  30. }

Объяснение кода листинга программы

  1. Объявлены переменные:
    • i, j, n, m - целочисленные индексы
    • a[50][50] - двумерный массив размером 50x50
    • b[50] - одномерный массив размером 50
    • n = 7, m = 9 - инициализируют размеры первого и второго массивов
  2. Заполнение массива a[50][50] случайными числами от -10 до 10 с шагом 1 (включая 0)
  3. Формирование вектора b[50] путем перебора всех элементов массива a[50][50] и сравнения их с текущим максимальным значением в векторе b[50]. Если текущий элемент больше максимального, он становится новым максимальным.
  4. Вывод на экран полученного вектора b[50].

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.077 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы