#include #include #include #define MAX_REC 51 void greska() { fprintf(stderr, "-1"); exit(EXIT_FAILURE); } void stampaj(char** niz_reci, int n) { int i; for(i=0; i 0 && strcmp(trenutna, niz_reci[j-1]) <= 0; j--) strcpy(niz_reci[j], niz_reci[j-1]); strcpy(niz_reci[j], trenutna); } } void selection_sort(char** niz_reci, int n) { int i, j, poz_min; char privremena[MAX_REC]; for(i=0; i d2 || (d1 == d2 && strcmp(niz_reci[j], niz_reci[poz_max]) < 0)) poz_max = j; } strcpy(privremena, niz_reci[i]); strcpy(niz_reci[i], niz_reci[poz_max]); strcpy(niz_reci[poz_max], privremena); } } int provera_uslova(char* s1, char* s2) { int d1 = strlen(s1); int d2 = strlen(s2); if(d1 > d2 || (d1 == d2 && strcmp(s1, s2) < 0)) return 1; else return 0; //Ili krace return d1 > d2 || (d1 == d2 && strcmp(s1, s2) < 0); } void insertion_sort_rev(char** niz_reci, int n) { int i, j; char trenutna[MAX_REC]; for(i=1; i 0 && provera_uslova(trenutna, niz_reci[j-1]) > 0; j--) strcpy(niz_reci[j], niz_reci[j-1]); strcpy(niz_reci[j], trenutna); } } int main(int argc, char* argv[]) { if(argc != 2) greska(); char **reci; //Ucitavamo broj reci int n; scanf("%d", &n); //Alociramo prostor i ucitavamo reci reci = malloc(n*sizeof(char*)); if(reci == NULL) greska(); int i; for(i=0; i