Найти максимальный элемент над побочной диагональю - C (СИ)

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

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

В данной действительной квадратной матрице порядка N*N. Найти максимальный элемент над побочной диагональю.

Решение задачи: «Найти максимальный элемент над побочной диагональю»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#define N  4
 
int main(void){
    int    i, j, n;
    double k, m[N*N];
 
    for(i = 0; i < N; ++i){
        for(j = 0; j < N; ++j){
            m[i*N + j] = (double)(rand() % 10);
            printf("%lg ", m[i*N + j]);
        }
        putchar('\n');
    }
    putchar('\n');
 
    //поиск макс.
    n = N - 1;
    k = m[0];
    for(i = 0; i < n; ++i){
        for(j = 0; j < n - i; ++j){
            if(k < m[i*N + j])
                k = m[i*N + j];
 
            printf("%lg ", m[i*N + j]);         
        }
        putchar('\n');
    }
    printf("\nmax: %lg\n", k);
    return 0;
}

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

В этом коде генерируется случайная матрица размером 4x4, выводится на экран, затем осуществляется поиск максимального элемента по побочной диагонали.

  1. Объявлены переменные: — i, j, n — счётчики для обхода матрицы; — k — для хранения текущего максимального элемента; — m[N*N] — матрица (в верхней половине хранятся значения, в нижней — результаты сравнения).
  2. Заполняется матрица случайными числами от 0 до 9 с помощью функции rand().
  3. Выводится на экран заполненная матрица.
  4. Начинается поиск максимального элемента с верхней строки, в которую помещены случайные числа.
  5. Переменная n уменьшается на 1, так как верхняя строка уже была обработана.
  6. Значение k инициализируется значением первого элемента верхней строки.
  7. Внутренний цикл имеет такой же размер, как и внешний, так как он обрабатывает количество строк, меньшее, чем количество столбцов.
  8. Если внутренний цикл завершился, значит, текущий элемент больше текущего максимального элемента, и его значение присваивается переменной k.
  9. Внешний цикл выводит на экран значения, которые сравнивались с текущим максимальным элементом.
  10. Выводится на экран найденный максимум.
  11. Функция main() возвращает 0, заканчивая работу программы.

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


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

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

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