Написать функцию, вычисляющую среднее арифметическое между диагоналями матрицы - C (СИ)
Формулировка задачи:
Заполнить двухмерный массив случайными целыми числами (10Х10) от 1 до 255 и вывести его на экран и написать функцию, вычисляющую среднее между диагоналями.
Помогите пожалуйста составить программу на С. За ранее благодарен
Решение задачи: «Написать функцию, вычисляющую среднее арифметическое между диагоналями матрицы»
textual
Листинг программы
#include<stdio.h> #include<stdlib.h> #include<time.h> void FillArray(void); void DisplayArray(void); int MaxDiagKrest(void); int m=5,n=7; int mas[100][100]; main() { FillArray(); DisplayArray(); printf("\n"); printf("%d\n",MaxDiagKrest()); getchar(); return 0; } /* zapolnim massiv randomno */ void FillArray(void) { int i,j; srand((unsigned)time(NULL)); /* ustanovka generatora sluch chisel */ for(j=0; j<m; ++j) for(i=0; i<n; ++i) mas[j][i] = 1 + rand() % 255; } /* vivo massiva na displej */ void DisplayArray(void) { int i,t; puts(""); /* nachalo novoj stroki */ for(t=0; t<m; ++t) { for(i=0; i<n; ++i) printf("%4d ", mas[t][i]); printf("\n"); } } /*poisk max elementa na diagonalnom kreste*/ int MaxDiagKrest(void) { int j,max=0; for(j=0; j<m; ++j) { if (mas[j][j] > max) max = mas[j][j]; if (mas[j][m-j-1] > max) max = mas[j][m-j-1]; // printf("%d %d\n",mas[j][j],mas[j][m-j-1]); // diagonalnom krest } return max; }
Объяснение кода листинга программы
- Программа на языке C
- Задача программы - вычисление среднего арифметического между диагоналями матрицы
- В программе используется функция
FillArray
, которая заполняет массив случайными числами - Функция
DisplayArray
выводит массив на экран - Функция
MaxDiagKrest
ищет максимальное значение на главной диагонали матрицы - В функции
main
вызываются функцииFillArray
,DisplayArray
иMaxDiagKrest
- Значения переменных
m
иn
равны 5 и 7 соответственно - Массив
mas
имеет размер 100x100 - В функции
main
переменнаяgetchar()
используется для ожидания нажатия клавиши после вывода результата - В функции
FillArray
используется генератор случайных чисел, установленный с помощьюsrand((unsigned)time(NULL))
- В функции
DisplayArray
массив выводится на экран в виде двумерного массива - В функции
MaxDiagKrest
используется две вложенные циклы для поиска максимального значения на диагонали - Значение переменной
max
инициализируется значением 0 - Внутренний цикл функции
MaxDiagKrest
проверяет значения элементов на главной диагонали - Если найденное значение больше текущего значения
max
, то значениеmax
обновляется - Внешний цикл функции
MaxDiagKrest
выполняет поиск максимального значения на обеих диагоналях матрицы - Функция
MaxDiagKrest
возвращает найденное максимальное значение - Значение переменной
m
может быть изменено на любое другое положительное целое число без изменения смысла программы - Значение переменной
n
может быть изменено на любое другое положительное целое число без изменения смысла программы - Массив
mas
может быть заменен на любой другой массив размеромm
xn
без изменения смысла программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д