Отсортировать четные строки матрицы X (10x9) в порядке убывания, а не четные в порядке возрастания - C (СИ)
Формулировка задачи:
Отсортировать четные строки матрицы X (10x9) в порядке убывания, а не четные в порядке возрастания. Определить функцию для сортировки одной строки. Вот как это сделать именно для одной строки? Я ее написал но там жуткое мясцо помогите пожалуйста
Решение задачи: «Отсортировать четные строки матрицы X (10x9) в порядке убывания, а не четные в порядке возрастания»
textual
Листинг программы
- #include <stdio.h>
- #include <stdlib.h>
- #define n 10
- #define m 9
- int cmpfunc (const void * a, const void * b)
- {
- return ( *(int*)a - *(int*)b );
- }
- int cmpfunc1 (const void * a, const void * b)
- {
- return ( *(int*)b - *(int*)a );
- }
- int main(){
- int mas[n][m];
- int i, j;
- printf("IN: \n");
- for(i = 0; i < n; i++){
- for(j = 0; j < m; j++){
- mas[i][j] = rand()%100 - 10;
- printf("%d ", mas[i][j]);
- }
- printf("\n");
- }
- printf("\nOUT: \n");
- for(i = 0; i < n; i++){
- if(i % 2 == 0){
- qsort(mas, m, sizeof(int), cmpfunc);
- }
- qsort(mas, m, sizeof(int), cmpfunc1);
- }
- for(i = 0; i < n; i++){
- for(j = 0; j < m; j++){
- printf("%d ", mas[i][j]);
- }
- printf("\n");
- }
- return 0;
- }
Объяснение кода листинга программы
Код представляет собой программу на языке C, которая сортирует четные строки матрицы X (10x9) в порядке убывания, а не четные в порядке возрастания. Список действий, которые выполняются в коде:
- Включаются необходимые заголовочные файлы:
stdio.h
- для работы с функциями ввода-вывода;stdlib.h
- для работы со стандартными функциями C, включая функциюrand()
иqsort()
.
- Определяются значения переменных:
n
иm
- определяют размерность матрицыmas
. Значениеn
равно 10, аm
равно 9;mas
- матрица, которая будет содержать значения от -10 до 100.
- Функция
cmpfunc
иcmpfunc1
:- Эти две функции используются для сравнения элементов матрицы при сортировке.
cmpfunc
сортирует элементы в порядке возрастания, аcmpfunc1
- в порядке убывания.
- Основная функция
main
:- С помощью цикла
for
матрицаmas
заполняется случайными значениями от -10 до 100; - С помощью цикла
for
и условного оператораif
сортируются только четные строки матрицыmas
. Если строка четная, то она сортируется с помощью функцииqsort()
в порядке убывания, используя функциюcmpfunc1
. В противном случае, она остается неизменной; - С помощью цикла
for
выводятся отсортированные значения матрицыmas
.
- С помощью цикла
- Функция
qsort
:- Эта функция используется для сортировки элементов матрицы
mas
. Она принимает массив, количество элементов, размер одного элемента и функцию сравнения в качестве аргументов.
- Эта функция используется для сортировки элементов матрицы
- Возвращаемое значение функции
main
:- Значение 0 возвращается в качестве результата работы функции
main
, что означает успешное выполнение программы.
- Значение 0 возвращается в качестве результата работы функции
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д