Написать функцию, вычисляющую среднее арифметическое между диагоналями матрицы - 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;
}

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

  1. Программа на языке C
  2. Задача программы - вычисление среднего арифметического между диагоналями матрицы
  3. В программе используется функция FillArray, которая заполняет массив случайными числами
  4. Функция DisplayArray выводит массив на экран
  5. Функция MaxDiagKrest ищет максимальное значение на главной диагонали матрицы
  6. В функции main вызываются функции FillArray, DisplayArray и MaxDiagKrest
  7. Значения переменных m и n равны 5 и 7 соответственно
  8. Массив mas имеет размер 100x100
  9. В функции main переменная getchar() используется для ожидания нажатия клавиши после вывода результата
  10. В функции FillArray используется генератор случайных чисел, установленный с помощью srand((unsigned)time(NULL))
  11. В функции DisplayArray массив выводится на экран в виде двумерного массива
  12. В функции MaxDiagKrest используется две вложенные циклы для поиска максимального значения на диагонали
  13. Значение переменной max инициализируется значением 0
  14. Внутренний цикл функции MaxDiagKrest проверяет значения элементов на главной диагонали
  15. Если найденное значение больше текущего значения max, то значение max обновляется
  16. Внешний цикл функции MaxDiagKrest выполняет поиск максимального значения на обеих диагоналях матрицы
  17. Функция MaxDiagKrest возвращает найденное максимальное значение
  18. Значение переменной m может быть изменено на любое другое положительное целое число без изменения смысла программы
  19. Значение переменной n может быть изменено на любое другое положительное целое число без изменения смысла программы
  20. Массив mas может быть заменен на любой другой массив размером mxn без изменения смысла программы

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.364 из 5
Похожие ответы