Найти в матрице первую строку, все элементы которой упорядочены по возрастанию - C (СИ) (74707)
Формулировка задачи:
Найти в матрице первую строку, все элементы которой упорядочены по возрастанию. Изменить упорядоченность элементов этой строки на обратную.
ой не указатели, а тема: Функции. Строки.
Решение задачи: «Найти в матрице первую строку, все элементы которой упорядочены по возрастанию»
textual
Листинг программы
#include <stdio.h> #define N 3 #define M 3 int matrix[N][M] = { {2,3,9}, {1,3,2}, {4,5,6}, {7,8,9}, {5,6,7} }; void asort(int *arr) { int i, j; for(i = 0; i < M / 2; i++) { int tmp = arr[i]; arr[i] = arr[M - i - 1]; arr[M - i - 1] = tmp; // printf("%d ", arr[i]); } } int main() { int i,j; int flag = 1; int resSt = 1; /** В этом цикле мы идем по строкам. **/ for(i = 0; i < N; i++) { /** Идем уже по строке **/ for(j = 0; j < M - 1; j++) { if(matrix[i][j] > matrix[i][j + 1]) flag = 0; } if(flag) resSt = i; } //printf("%d ", resSt); for(i = 0; i < M; i++) printf("%d ", matrix[resSt][i]); asort(matrix[resSt]); printf("\n"); for(i = 0; i < M; i++) printf("%d ", matrix[resSt][i]); }
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы
- Определяем размеры матрицы
- Инициализируем матрицу
- Создаем функцию для сортировки элементов матрицы
- Создаем основную функцию программы
- Инициализируем переменные
- Проходим по всем строкам матрицы
- Проходим по элементам текущей строки
- Проверяем, если текущий элемент больше следующего, то меняем их местами и устанавливаем флаг
- Если флаг установлен, то сохраняем номер строки в переменную resSt
- Выводим первую строку матрицы, все элементы которой упорядочены по возрастанию
- Сортируем элементы первой строки матрицы
- Выводим отсортированную первую строку матрицы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д