Найти элементы матрицы, которые превышают все элементы, лежащие ниже главной диагонали - C (СИ) (75355)

Узнай цену своей работы

Формулировка задачи:

Дана матрица. Среди элементов матрицы лежащих выше главной диагонали найти те, которые превышают все элементы лежащие ниже главной диагонали. Вычислить сумму

Решение задачи: «Найти элементы матрицы, которые превышают все элементы, лежащие ниже главной диагонали»

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <conio.h>
  3. #include <stdlib.h>
  4. #include <time.h>
  5.  
  6. main()
  7. {
  8.     const int n=4;
  9.     int a[n][n], s=0, i, j, under_max=0;
  10.    
  11.     srand(time(NULL));
  12.     for (i=0; i<=n; i++)
  13.     {
  14.         for (j=0; j<=n; j++)
  15.         {
  16.             a[i][j]=rand()%1000;
  17.             if (i>j && a[i][j]>under_max)
  18.             under_max=a[i][j];
  19.             printf("%5d",a[i][j]);
  20.         }
  21.         printf("\n");
  22.     }
  23.     printf("\n");
  24.     for (i=0; i<=n; i++)
  25.     for (j=0; j<=n; j++)
  26.     if (i<j && a[i][j]>under_max)
  27.     {
  28.         printf("%d ",a[i][j]); //элементы выше главной диагонали, которые превышают все элементы, лежащие ниже главной диагонали
  29.         s+=a[i][j];  //сумма этих элементов
  30.     }
  31.     printf("\nSumma = %d",s); //если сумма == 0, значит нет таких элементов
  32.     getch();
  33. }

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

  1. Включаем необходимые заголовочные файлы
  2. Объявляем функцию main()
  3. Задаем размер матрицы n=4 и инициализируем ее случайными значениями с помощью функции rand()%1000
  4. Инициализируем переменную s=0 для подсчета суммы элементов, i, j, under_max=0
  5. Задаем начальное значение для генератора случайных чисел с помощью функции srand(time(NULL))
  6. С помощью двух вложенных циклов заполняем матрицу a[i][j] случайными числами
  7. С помощью условного оператора if (i>j && a[i][j]>under_max) находим максимальное значение под главной диагональю и обновляем under_max
  8. С помощью функции printf() выводим значения матрицы на экран
  9. С помощью двух вложенных циклов находим элементы матрицы, которые превышают все элементы, лежащие ниже главной диагонали
  10. С помощью оператора printf() выводим найденные элементы на экран
  11. С помощью оператора += суммируем найденные элементы и сохраняем сумму в переменной s
  12. С помощью оператора printf() выводим сумму на экран
  13. С помощью функции getch() останавливаем выполнение программы
  14. Если сумма равна нулю, то выводим сообщение об отсутствии элементов, которые превышают все элементы, лежащие ниже главной диагонали

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


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

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

7   голосов , оценка 4.143 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы