/************************************************/
/* soubor str_sort.c */
/* ukazuje trideni pole ukazatelu na retezce */
/************************************************/
#include <stdio.h>
#include <string.h>
void sort(char **v, int n)
{
int gap, i, j;
char *temp;
for (gap = n/2; gap > 0; gap /= 2)
for (i = gap; i < n; i++)
for (j = i - gap; j >= 0; j -= gap)
{
if (strcmp(v[j], v[j+gap]) <= 0)
break;
temp = v[j]; v[j] = v[j+gap]; v[j+gap] = temp;
}
}
int main()
{
char *name[] =
{
"chyba", "leden", "unor", "brezen", "duben", "kveten", "cerven",
"cervenec", "srpen", "zari", "rijen", "listopad", "prosinec"
};
int i;
puts("jmena mesicu v roce (podle poradi):");
for (i = 0; i < 13; i++)
printf("%2d. mesic je : %s\n", i, name[i]);
puts("\na ted po setrideni:");
sort(name, sizeof(name)/sizeof(char *));
for (i = 0; i < 13; i++)
printf("%2d. mesic je : %s\n", i, name[i]);
return 0;
}