Дана матрица, получить вектор наибольших значений ее строк - 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]); }
Объяснение кода листинга программы
- Объявлены переменные:
i
,j
,n
,m
- целочисленные индексыa[50][50]
- двумерный массив размером 50x50b[50]
- одномерный массив размером 50n = 7
,m = 9
- инициализируют размеры первого и второго массивов
- Заполнение массива
a[50][50]
случайными числами от -10 до 10 с шагом 1 (включая 0) - Формирование вектора
b[50]
путем перебора всех элементов массиваa[50][50]
и сравнения их с текущим максимальным значением в вектореb[50]
. Если текущий элемент больше максимального, он становится новым максимальным. - Вывод на экран полученного вектора
b[50]
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д