Найти в матрице первую строку, все элементы которой упорядочены по возрастанию - 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]);
 
}

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

  1. Включаем необходимые заголовочные файлы
  2. Определяем размеры матрицы
  3. Инициализируем матрицу
  4. Создаем функцию для сортировки элементов матрицы
  5. Создаем основную функцию программы
  6. Инициализируем переменные
  7. Проходим по всем строкам матрицы
  8. Проходим по элементам текущей строки
  9. Проверяем, если текущий элемент больше следующего, то меняем их местами и устанавливаем флаг
  10. Если флаг установлен, то сохраняем номер строки в переменную resSt
  11. Выводим первую строку матрицы, все элементы которой упорядочены по возрастанию
  12. Сортируем элементы первой строки матрицы
  13. Выводим отсортированную первую строку матрицы

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

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