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

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

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

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

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

textual
Листинг программы
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
 
main()
{
    const int n=4;
    int a[n][n], s=0, i, j, under_max=0;
    
    srand(time(NULL));
    for (i=0; i<=n; i++)
    {
        for (j=0; j<=n; j++)
        {
            a[i][j]=rand()%1000;
            if (i>j && a[i][j]>under_max)
            under_max=a[i][j];
            printf("%5d",a[i][j]);
        }
        printf("\n");
    }
    printf("\n");
    for (i=0; i<=n; i++)
    for (j=0; j<=n; j++)
    if (i<j && a[i][j]>under_max)
    {
        printf("%d ",a[i][j]); //элементы выше главной диагонали, которые превышают все элементы, лежащие ниже главной диагонали
        s+=a[i][j];  //сумма этих элементов
    }
    printf("\nSumma = %d",s); //если сумма == 0, значит нет таких элементов
    getch();
}

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

  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
Похожие ответы