56> ordina-stringhe
Scrivere un programma che ordini in modo crescente e con un algoritmo in-place un array di
DIM stringhe inserite esternmente, visualizzando il risultato dell'ordinamento sullo schermo. Si assuma che ogni stringa abbia una lunghezza L non superiore a 80 caratteri.
#include <stdio.h>
#include <string.h>
#define DIM 5
#define L 80

void visualizza(char [][L]);
void sort(char [][L]);
int main(){
    char vs[DIM][L];
    int i;
    //caricamento esterno
    printf("Inserisci 5 stringhe: ");
    for(i=0;i<DIM;i++){
        gets(vs[i]);
    }
    putchar('\n');
    //sorting
    sort(vs);
    //visualizza
    visualizza(vs);
    return 0;
}


void visualizza(char vs[DIM][L]){
    int i;
    for(i=0;i<DIM;i++){
        printf("%s\n",vs[i]);
    }
    putchar('\n');
}

void sort(char vs[DIM][L]){
    int i,j;
    char temp[L];
    for(i=0;i<DIM;i++){
        for(j=i+1;j<DIM;j++){
            if(strcmp(vs[i],vs[j])>0){
                strcpy(temp,vs[i]);
                strcpy(vs[i],vs[j]);
                strcpy(vs[j],temp);
            }
        }
    }
}
    
  
056.c