Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2015
    residenza
    Italia
    Messaggi
    23

    Bubblesort non ottimizzato!

    Salve a tutti !

    Sono alle prese con l'algoritmo di ordinamento ovvero Bubblesort.
    Ho scritto questo programma che contiene la forma non ottimizzata di Bubblesort per cercare di capire prima il suo funzionamento. Il mio problema è che l'array non viene affatto ordinato!
    Cosa sto sbagliando?
    Potreste aiutarmi per capire meglio?
    Grazie anticipatamente
    !

    codice:
    #include <stdio.h>
    #include <stdlib.h>
    
    
    void bubbleSort(int*, int);
    
    
    int main () {
    int v[30], dim, k;
    
    
    printf("Inserisci la dimensione del vettore (massimo30)\n");
    scanf("%d", &dim);
    
    
    printf("Inserisci elementi nel vettore:\n");
    for (k=0; k<dim; k++)
    scanf("%d", &v[k]);
    
    
    printf("Il vettore ordinato in modo crescente, e' il seguente:\n");
    bubbleSort(v,dim);
    for(k=0; k<dim; k++)
    printf("%d\t", v[k]);
    printf("\n");
    
    
    system("pause");
    return 0;
    }
    
    
    void bubbleSort(int *array, int elementi) {
    int i, j;
    int aus;
    
    
    for(i=elementi-1; i>0; i--) {
     for (j=0; j<i; j++){
      if(array[j]>array[j+1])
         aus=array[j];
         array[j]=array[j+1];
         array[j+1]=aus;
      }
     }
    }
    Ultima modifica di LeleFT; 07-05-2015 a 18:20 Motivo: Aggiunti i tag CODE

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2015
    residenza
    Italia
    Messaggi
    23
    Trovato l'errore! Il problema era la mancanza di parentesi {} nel blocco dell'if!

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    @melmang: quando posti del codice, mettilo all'interno degli appositi tag [CODE] .. [/CODE] in modo da mantenerne indentazione e formattazione e rendelo, quindi, più leggibile.

    Ho corretto io il tuo post.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2015
    residenza
    Italia
    Messaggi
    23
    Ti ringrazio !

  5. #5
    Utente di HTML.it L'avatar di minomic
    Registrato dal
    Nov 2010
    Messaggi
    635
    Ciao, vedo che non hai l'abitudine di mettere le graffe... Ovviamente se l'istruzione successiva occupa una sola riga le graffe possono anche essere omesse, comunque è raccomandabile metterle sempre! Sia per una questione di leggibilità del codice, sia perché una successiva modifica che aggiunge una riga potrebbe provocare errori che sono poi difficili da vedere, soprattutto se il codice non è indentato correttamente.

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2015
    residenza
    Italia
    Messaggi
    23
    Grazie mille per i consigli, eviterò di commettere questi errori di sintassi.

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.