Сортировка строк двумерного массива - C (СИ)
Формулировка задачи:
Листинг программы
- #include<stdio.h>
- main()
- {
- int A[3][3],i,j,c;
- clrscr();
- for(i=0;i<3;i++)
- for(j=0;j<3;j++)
- scanf("%d",&A[i][j]);
- for(i=0;i<3;i++)
- for(j=0;j<3;j++)
- if (A[i][0]>A[j][0])
- {
- c=A[i][0];
- A[i][0]=A[j][0];
- A[j][0]=c;
- }
- for(i=0;i<3;i++)
- {
- for(j=0;j<3;j++)
- {
- printf("%2d",A[i][j]);
- }
- printf("\n");
- }
- }
Решение задачи: «Сортировка строк двумерного массива»
textual
Листинг программы
- #include <stdio.h>
- #define L 5 // line
- #define C 5 // column
- int main()
- {
- int A [L][C] = {0};
- int B [C] = {0}; // clipboard
- int i, j, pass;
- for (i = 0; i <= L - 1; i++)
- for (j = 0; j <= C - 1; j++)
- scanf ("%2d", &A [i][j]);
- pass = 0;
- while (pass <= L - 1)
- {
- i = 0;
- for (i = 0; i <= L - 2; i++)
- {
- j = 0;
- if (A [i][j] > A [i + 1][j])
- {
- for (j = 0; j <= C - 1; j++) {
- B [j] = A [i][j];
- A [i][j] = A [i + 1][j];
- A [i + 1][j] = B [j];
- }
- }
- }
- pass++;
- }
- for (i = 0; i <= L - 1; i++)
- {
- for (j = 0; j <= C - 1; j++)
- printf ("%2d", A [i][j]);
- printf ("\n");
- }
- return 0;
- }
Объяснение кода листинга программы
В этом коде представлена сортировка двумерного массива строк методом пузырька.
- В начале кода объявляется двумерный массив A размером L на C и одномерный массив B размером C.
- Затем происходит заполнение массива A с помощью функции scanf.
- Создается переменная pass, которая будет использоваться для отслеживания количества проходов в цикле.
- Затем идет внешний цикл, который выполняется до тех пор, пока не будет отсортирован массив по возрастанию.
- Внутри внешнего цикла идет внутренний цикл, который итерируется по массиву A, но не до конца, так как мы уже знаем, что массив отсортирован.
- Если текущий элемент массива A больше следующего, то они меняются местами, и этот факт запоминается в массиве B.
- После внутреннего цикла увеличивается значение переменной pass.
- После внешнего цикла происходит вывод отсортированного массива A с помощью функции printf.
- В конце кода возвращается 0, что означает успешное выполнение программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д