#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<time.h>

void sort(char** tab, int size)
{
    char* temp = (char*)malloc(99);
    int i, j;

    for(i = 0; i < size; ++i)
    {
        for(j = 0; j < size-1-i; ++j)
        {
            if(strcmp(tab[j], tab[j+1]) > 0)
                strcpy(temp, tab[j]),
                strcpy(tab[j], tab[j+1]),
                strcpy(tab[j+1], temp);
        }
    }
    for(i = 0; i < size; ++i)
        puts(tab[i]);
}

int main()
{
    srand(time(NULL));
    int size = rand()%5+5, i, j, s;
    char** tab = (char**)malloc(size * sizeof(char*));

    for(i = 0; i < size; ++i)
    {
        s = rand()%9+1;
        tab[i] = (char*)malloc(s+1);
        for(j = 0; j < s; ++j)
            tab[i][j] = 'a'+rand()%26;
        tab[i][s] = 0;
    }
    for(i = 0; i < size; ++i)
        puts(tab[i]);
    puts("");
    sort(tab, size);
    return 0;
}