Как мне отсортировать двумерный массив строк в C с помощью пузырьковой сортировки (или любого другого вида сортировки в этом отношении)? То, что я действительно пытаюсь сделать, выглядит следующим образом:
Пример:
Несортированный двумерный массив строк:
abfg
abcd
xyzw
pqrs
orde
Отсортированный двумерный массив строк:
abcd
abfg
orde
pqrs
xyzw
Мой текущий алгоритм, который не работает (выдает ошибку несовместимости), выглядит следующим образом:
#include <stdio.h>
#include<string.h>
int main()
{
char str[5][4];
int i,j;
char temp[4];
for (i=0;i<5;i++)
{
scanf("%s",str[i]);
}
for(i = 0; i<5-1; i++)
{
for(j = 0; j<5-1; j++)
{
if(strcmp(str[j],str[j+1])== -1)
{
temp = str[j];
str[j] = str[j+1];
str[j+1] = temp;
}
}
}
for(i = 0; i< 5; i++)
printf("%s ", str[i]);
return 0;
}
char
указателей или массивомchar
массивов (они не синонимы). Затем я поместил соответствующий код сравнения и замены в пузырьковую сортировку, чтобы соответствующим образом обработать любой результат этого решения. - person WhozCraig   schedule 12.03.2015