Дана действительная матрица размером m*n. Упорядочить строки матрицы по неубыванию значений первых элементов строк. Задача № 1 (Сортировка массивов) (см. "Сборник задач для начинающего программиста") Алгоритм: #include <stdio.h> #include <stdlib.h> #define M 5 // кол-во столбцов #define N 4 // кол-во строк int main() { int i,j,q; int tmp[N]; // массив для обмена элементов строк int Mas[M][N]={ {15,2,10,8},{1,5,12,17},{3,8,3,6},{-20,4,7,4},{-1,4,7,6} }; printf("\n\nOur MASSIV:"); for(i = 0;i < M;i++) // цикл выведения элементов матрицы { printf("\n\n"); for(j = 0;j < N;j++) { printf("%3d",Mas[i][j]); } } for(i = 0;i < M;i++) { for(q = 0;q < M-1;q++) { printf("\n\n"); for(i = 0;i < M-1;i++) { if(Mas[i][0] > Mas[i+1][0]) // сортировка первых элементов строк for(j = 0;j < N;j++) // цикл обмена элементами строк { tmp[j]=Mas[i+1][j]; // элементы строки сохраняем в одномерном массиве tmp Mas[i+1][j]=Mas[i][j]; Mas[i][j]=tmp[j]; } } } printf("SORT MASSIV"); for(i = 0;i < M;i++) // цикл вывода на печать отсортированной матрицы { printf("\n\n"); for(j = 0;j < N;j++) { printf("%3d",Mas[i][j]); } } } return 0; }
Ключевые слова:
матрица, сортировка обменом
|
|||