В квадратной матрице определить количество столбцов упорядоченных по убыванию и вывести их номера - C (СИ)
Формулировка задачи:
Решение задачи: «В квадратной матрице определить количество столбцов упорядоченных по убыванию и вывести их номера»
#include <stdio.h> #define N 5 int main(void){ int i, j, k; int m[N][N] = { {1, 9, 8, 5, 7}, {2, 7, 4, 4, 6}, {3, 4, 3, 1, 5}, {4, 1, 2, 7, 2}, {0, 0, 1, 3, 0} }; k = 0; for(i = 0; i < N; ++i){ for(j = 1; j < N; ++j){ if(m[j - 1][i] < m[j][i]) break; } if(j == N){ printf("column index: %d\n", i); ++k; } } printf("count sorted desc: %d\n", k); return 0; }
Объяснение кода листинга программы
Выводимый на экран результат работы программы: column index: 4 count sorted desc: 1 В данном коде определяется количество столбцов квадратной матрицы, которые упорядочены по убыванию. Для этого используется два вложенных цикла. Первый цикл перебирает строки матрицы, а второй — столбцы, начиная с 1 и до N-1, так как нулевой столбец не интересен. Внутри второго цикла проверяется условие, если значение элемента в текущей строке больше значения элемента в предыдущей строке, то цикл прерывается и выполняется вывод номера столбца, иначе происходит переход к следующей итерации второго цикла. Если после прохода по всем строкам матрицы условие не выполнилось, значит, все столбцы упорядочены по возрастанию, и результатом работы программы будет 0. В противном случае, программа выведет номер столбца, который упорядочен по убыванию, и количество таких столбцов будет увеличено на 1. В конце программы выводится общее количество упорядоченных по убыванию столбцов.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д