Сортировка строк двумерного массива - 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;
}

Объяснение кода листинга программы

В этом коде представлена сортировка двумерного массива строк методом пузырька.

  1. В начале кода объявляется двумерный массив A размером L на C и одномерный массив B размером C.
  2. Затем происходит заполнение массива A с помощью функции scanf.
  3. Создается переменная pass, которая будет использоваться для отслеживания количества проходов в цикле.
  4. Затем идет внешний цикл, который выполняется до тех пор, пока не будет отсортирован массив по возрастанию.
  5. Внутри внешнего цикла идет внутренний цикл, который итерируется по массиву A, но не до конца, так как мы уже знаем, что массив отсортирован.
  6. Если текущий элемент массива A больше следующего, то они меняются местами, и этот факт запоминается в массиве B.
  7. После внутреннего цикла увеличивается значение переменной pass.
  8. После внешнего цикла происходит вывод отсортированного массива A с помощью функции printf.
  9. В конце кода возвращается 0, что означает успешное выполнение программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.6 из 5
Похожие ответы