Сортировка строк двумерного массива - 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, что означает успешное выполнение программы.

ИИ для рефератов и докладов


  • Экспорт Word по ГОСТу
  • Минимум 80% уникальности текста
  • Поиск релевантных источников в интернете
  • Готовый документ за 2 минуты

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

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