Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2012
    Messaggi
    79

    [c++] ordinare alfabeticamente delle stringhe

    Ragazzi devo scrivere una funzione che ordini alfabeticamente un'array di stringhe, potreste aiutarmi??
    Questo è il codice che ho scritto, dove sbaglio?

    codice:
    const int lung_max_parola = 20;
    const int num_parole = 5;
    
    void bubblesort( char vett_parole[][lung_max_parola] )
    {
    	for ( int j = 0; j < num_parole -1; j++ )
    		for ( int i = j; i < num_parole; i++ ) 
    			if ( strcmp(vett_parole[j], vett_parole[i]) == 1 )
    			{
    	 			char aux[lung_max_parola]; 
    				strcpy( aux, vett_parole[i] );
    	 			strcpy( vett_parole[i], vett_parole[j] ); 
    	  			strcpy( vett_parole[j] , aux );
    			}
    }

  2. #2
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,589
    Per effettuare un bubble sort devi confrontare (ed eventualmente scambiare) sempre due elementi adiacenti...
    Quell'algoritmo non è un bubble sort...
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2012
    Messaggi
    79
    Quindi che modifiche devo fare al codice??
    Grazie

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    250
    Nel codice,nel ciclo più interno,la i devi farla partire da j+1 perchè l'obiettivo è quello di iniziare a confrontare la stringa in posizione i con quella immediatamente successiva...quindi se una stringa si trova in posizione i,quella successiva si trova necessariamente nella posizione j=i+1.

    Correggetemi se sbaglio eh . .


    P.s. Come ti hanno fatto notare non si tratta di un Bubblesort...

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 © 2025 vBulletin Solutions, Inc. All rights reserved.