Проверить, все ли строки матрицы упорядочены по убыванию - C (СИ)
Формулировка задачи:
Проверить, все ли строки матрицы упорядочены по убыванию. Если нет, найти первую неупорядоченную строку и упорядочить. Матрицу вводить вручную. без функций string.h, math.h. Для начинающих
Спасибо
Решение задачи: «Проверить, все ли строки матрицы упорядочены по убыванию»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #include <locale.h> void selectSort(float a[], long size) { long i, j, k; float x; for( i=0; i < size; i++) { k=i; x=a[i]; for( j=i+1; j < size; j++) if ( a[j] < x ) { k=j; x=a[j]; } a[k] = a[i]; a[i] = x; } } int main(){ setlocale(LC_ALL, "rus"); int n, m; printf("Введите размер матрицы: "); scanf("%d%d", &n, &m); float ** matrix = (float **) malloc(n*sizeof(float*)); for (int i = 0; i < n; ++i){ matrix[i] = (float *) malloc(m*sizeof(float)); for (int j = 0; j < m; ++j){ printf("a[%d][%d] = ", i, j); scanf("%f", &matrix[i][j]); } } for (int i = 0; i < n; ++i){ selectSort(matrix[i], m); } for(int i = 0; i < n; ++i){ for(int j = 0; j < m; ++j){ printf("%g ", matrix[i][j]); } printf("\n"); free(matrix[i]); } return 0; }
Объяснение кода листинга программы
Вывод программы позволяет пользователю ввести размер матрицы, затем программа запрашивает значения элементов матрицы, используя функцию scanf. После этого применяется алгоритм сортировки выбором к каждой строке матрицы. В конце программа выводит отсортированные строки на экран, затем освобождает память, выделенную под матрицу.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д