Discussione: [C] insertion sort
View Single Post
Old 12-01-2005, 10:49   #2
Ziosilvio
Moderatore
 
L'Avatar di Ziosilvio
 
Iscritto dal: Nov 2003
Messaggi: 16212
Re: [C] insertion sort

Quote:
Originariamente inviato da Starise
un programma in C che richiama una funzione void che ordina un array tramite insertion sort
L'array deve esserci già, o devi usare insertion sort per inserire i valori nell'array in modo che, a ogni inserimento, l'array rimanga ordinato?
Perché l'uso "vero" sarebbe quello... comunque, diciamo che siamo nella prima ipotesi.
Quote:
ho provato a fare un programma... ma non mi funziona... potete aiutarmi a scovare gli errori?
Se ci dici anche che errori dà, ti possiamo aiutare meglio.
A proposito: quando inserisci di programma, usa il tag "code", altrimenti perdi l'indentazione. Così:
Codice:
    printf("Inserisci la quantità di numeri da esaminare\n");
    scanf("%d", &n);
Qui dovresti accertarti che la scanf abbia avuto successo... va beh, diciamo che l'utente ha fatto il bravo...
Codice:
    a=(int*)malloc(n*sizeof(int));
Errore classico da principiante: quando allochi memoria dinamicamente, devi sempre accertarti che l'allocazione abbia avuto successo.
Leggi il manuale (o la man page di malloc) per capire come si fa.
Codice:
    for (i=0;i<n;i++)
    {
        printf("%d",a[i]);
    }
Se usi la printf così, ti vengono i numeri tutti attaccati.
La stringa di formato dovrebbe essere " %d", con lo spazio all'inizio.

Per il resto.. boh, sembra tutto a posto... prova a fare queste modifiche e facci sapere cosa esce fuori.
__________________
Ubuntu è un'antica parola africana che significa "non so configurare Debian" Chi scherza col fuoco si brucia.
Scienza e tecnica: Matematica - Fisica - Chimica - Informatica - Software scientifico - Consulti medici
REGOLAMENTO DarthMaul = Asus FX505 Ryzen 7 3700U 8GB GeForce GTX 1650 Win10 + Ubuntu
Ziosilvio è offline   Rispondi citando il messaggio o parte di esso