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

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

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

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

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

textual
Листинг программы
int i, j, n, m;
double a[50][50];
double b[50];
 
n = 7;
m = 9;
 
// Заполнение массива     
for (i = 0; i < n; i++)
{
    for (j = 0; j < m; j++)
    {
        a[i][j] = rand() % 20 - 10;
        printf("%6.2lf  ", a[i][j]);
    }
    printf("\n");
}
printf("\n");
 
// Формирование вектора
 for ( i = 0; i < n; i++)
{
    b[i] = -1000000;
    for ( j = 0; j < m; j++)
    {
        if (a[i][j] > b[i]) b[i] = a[i][j];
    }
 
    printf("b[%d] = %f\r\n", i, b[i]);
}

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

  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
Похожие ответы