В действительной квадратной матрице порядка k найти наибольший по модулю элемент - C (СИ)
Формулировка задачи:
1
.В данной действительной квадратной матрице порядка k найти наибольший по модулю элемент. Получить квадратную матрицу порядка k-1 путем отбрасывания в исходной матрице строки и столбца, на пересечении которых расположен элемент с найденным значением.2
.Дана действительная квадратная матрица порядка k. Преобразовать матрицу по следующему правилу: строку с номером k сделать столбцом с номером k, а столбец с номером k — строкой с номером k.Решение задачи: «В действительной квадратной матрице порядка k найти наибольший по модулю элемент»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #define n 5 int main() { double mas[n][n]={{1.0,2.0,3.0,4.0,5.0},{6.0,7.0,8.0,9.0,10.0},{1.0,13.0,2.0,5.0,4.0},{-7.0,0.0,5.0,8.0,9.0}, {1.0,2.0,3.0,4.0,5.0}} ; double mas2[n-1][n-1]; double max; int i,j,max_row,max_col,k; max=mas[0][0]; max_row=0; max_col=0; for(i=0;i<n;i++) { for(j=0;j<n;j++) { printf("%6.2lf",mas[i][j]); if(abs(mas[i][j])>max) { max=abs(mas[i][j]); max_row=i; max_col=j; } } printf("\n"); } i=j=k=0; for(i=0;i<n-1;i++) { if(i>=max_row&&k<n-1) k++; for(j=0;j<n-1;j++) if(j<max_col) mas2[i][j]=mas[k][j]; else mas2[i][j]=mas[k][j+1]; k++; } printf("\n"); for(i=0;i<n-1;i++) { for(j=0;j<n-1;j++) { printf("%6.2lf",mas2[i][j]); } printf("\n"); } return 0; }
Объяснение кода листинга программы
В этом коде на языке C ищутся наибольшие по модулю элементы в реальной квадратной матрице порядка k. Список действий:
- Задается размер матрицы n=5 и заполняется исходная матрица mas[n][n] = {1.0,2.0,3.0,4.0,5.0;6.0,7.0,8.0,9.0,10.0;1.0,13.0,2.0,5.0,4.0;-7.0,0.0,5.0,8.0,9.0;1.0,2.0,3.0,4.0,5.0}.
- Создается вспомогательная матрица mas2[n-1][n-1] для хранения максимальных элементов.
- Инициализируются переменные max=mas[0][0], max_row=0, max_col=0.
- Происходит поиск максимального элемента по модулю в исходной матрице, используя вложенные циклы.
- При необходимости, элементы вспомогательной матрицы mas2[i][j] заполняются значениями из исходной матрицы mas[k][j] или mas[k][j+1].
- Выводятся значения вспомогательной матрицы mas2[i][j] на экран.
- Функция main() возвращает 0, что означает успешное выполнение программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д