Дана действительная матрица размером m * n; упорядочить (переставить) строки матрицы по неубыванию значений первых элементов строк. Разрешается использовать дополнительный массив. Алгоритм: #include <stdafx.h> #include <stdlib.h> #include <conio.h> void main() { int mas[ 50 ][ 50 ]; //инициализируем массив printf( "Vvedite razmer matrici\n" ); srand( 1 ); //получаем от пользователя реальные размеры массива int i, j, a, b; scanf( "%d %d", &a, &b ); for( i = 0; i < a; i++ ) { for( j = 0; j < b; j++ ) { //заполняем матрицу с помощью генератора псевдослучайных чисел mas[ i ][ j ] = ( double )rand() / ( RAND_MAX + 1 ) * 99 + 1; //выводим исходную матрицу printf( "%3d", mas[ i ][ j ] ); } printf("\n"); } int x,y; //применяем пузырьковый метод сортировки for( y = 0; y < a; y++ ) { for ( i = 0; i < ( a - 1 ); i++ ) { if( mas[ i ][ 0 ] > mas[ i + 1 ][ 0 ] ) { for( j = 0 ; j < b; j++ ) { x = mas[ i ][ j ]; mas[ i ][ j ] = mas[ i + 1 ][ j ]; mas[ i + 1 ][ j ] = x; } } } } printf("\n"); //выводим получившуюся матрицу на экран for( i = 0; i < a; i++ ) { for( j = 0; j < b; j++ ) { printf( "%3d", mas[ i ][ j ] ); } printf("\n"); } getch(); } <\code>
Ключевые слова:
массив, матрица, сортировка, метод пузырька
|
|||||||