Отсортировать четные строки матрицы X (10x9) в порядке убывания, а не четные в порядке возрастания - C (СИ)

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

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

Отсортировать четные строки матрицы X (10x9) в порядке убывания, а не четные в порядке возрастания. Определить функцию для сортировки одной строки. Вот как это сделать именно для одной строки? Я ее написал но там жуткое мясцо помогите пожалуйста

Решение задачи: «Отсортировать четные строки матрицы X (10x9) в порядке убывания, а не четные в порядке возрастания»

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #define n 10
  4. #define m 9
  5.  
  6. int cmpfunc (const void * a, const void * b)
  7. {
  8.    return ( *(int*)a - *(int*)b );
  9. }
  10.  
  11. int cmpfunc1 (const void * a, const void * b)
  12. {
  13.    return ( *(int*)b - *(int*)a );
  14. }
  15.  
  16. int main(){
  17.     int mas[n][m];
  18.     int i, j;
  19.     printf("IN: \n");
  20.     for(i = 0; i < n; i++){
  21.         for(j = 0; j < m; j++){
  22.             mas[i][j] = rand()%100 - 10;
  23.             printf("%d ", mas[i][j]);
  24.         }
  25.     printf("\n");
  26.     }
  27.     printf("\nOUT: \n");
  28.     for(i = 0; i < n; i++){
  29.             if(i % 2 == 0){
  30.                 qsort(mas, m, sizeof(int), cmpfunc);
  31.             }
  32.                     qsort(mas, m, sizeof(int), cmpfunc1);
  33.     }  
  34.     for(i = 0; i < n; i++){
  35.         for(j = 0; j < m; j++){
  36.        
  37.             printf("%d ", mas[i][j]);
  38.         }
  39.     printf("\n");
  40.     }
  41. return 0;
  42. }

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

Код представляет собой программу на языке C, которая сортирует четные строки матрицы X (10x9) в порядке убывания, а не четные в порядке возрастания. Список действий, которые выполняются в коде:

  1. Включаются необходимые заголовочные файлы:
    • stdio.h - для работы с функциями ввода-вывода;
    • stdlib.h - для работы со стандартными функциями C, включая функцию rand() и qsort().
  2. Определяются значения переменных:
    • n и m - определяют размерность матрицы mas. Значение n равно 10, а m равно 9;
    • mas - матрица, которая будет содержать значения от -10 до 100.
  3. Функция cmpfunc и cmpfunc1:
    • Эти две функции используются для сравнения элементов матрицы при сортировке.
    • cmpfunc сортирует элементы в порядке возрастания, а cmpfunc1 - в порядке убывания.
  4. Основная функция main:
    • С помощью цикла for матрица mas заполняется случайными значениями от -10 до 100;
    • С помощью цикла for и условного оператора if сортируются только четные строки матрицы mas. Если строка четная, то она сортируется с помощью функции qsort() в порядке убывания, используя функцию cmpfunc1. В противном случае, она остается неизменной;
    • С помощью цикла for выводятся отсортированные значения матрицы mas.
  5. Функция qsort:
    • Эта функция используется для сортировки элементов матрицы mas. Она принимает массив, количество элементов, размер одного элемента и функцию сравнения в качестве аргументов.
  6. Возвращаемое значение функции main:
    • Значение 0 возвращается в качестве результата работы функции main, что означает успешное выполнение программы.

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


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

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

15   голосов , оценка 4.333 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы