Получить матрицу путем деления всех ее элементов на элемент, наибольший по абсолютной величине - C (СИ)
Формулировка задачи:
Дано прямоугольную матрицу размером М на Н.Одержаты новую матрицу путем деления всех элементов данной матрицы на элемент, наибольший по абсолютной величине. На печать вывести новую матрицу и максимальный элемент по абсолютной величине
Решение задачи: «Получить матрицу путем деления всех ее элементов на элемент, наибольший по абсолютной величине»
textual
Листинг программы
#include<stdio.h> #include<stdlib.h> #include<limits.h> #include<time.h> #define n 4 #define m 6 int main() { unsigned int i,j; int max=INT_MIN; int a[n][m]; float b[n][m]={0}; system("chcp 1251 >> nul"); srand((unsigned int)time(0)); puts("Исходный матрица имеет вид:"); for (i=0;i<n;++i) { for (j=0;j<m;++j) { a[i][j]=rand()%100-50; printf("%4d ",a[i][j]); if (a[i][j]>abs(max)) max=a[i][j]; } puts(""); } printf("\nМаксимальный элемент матрицы по абсолютной величине = %d\n",max); puts("\nРезультирующая матрица имеет вид:"); for (i=0;i<n;++i) { for (j=0;j<m;++j) { b[i][j]=(float)a[i][j]/max; printf("%7.2f ",b[i][j]); } puts(""); } system("pause"); return 0; }
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с матрицами и временем
- Объявление переменных:
- i, j - циклы для перебора элементов матрицы
- max - переменная для хранения максимального элемента матрицы
- a[n][m] - исходная матрица, заполненная случайными числами от -50 до 50
- b[n][m] - результирующая матрица, в которой каждый элемент делится на максимальный элемент матрицы
- Вывод исходной матрицы
- Поиск максимального элемента матрицы по абсолютной величине
- Вывод результирующей матрицы, в которой каждый элемент делится на максимальный элемент матрицы
- Завершение программы и ожидание нажатия клавиши
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д