Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    24

    [c]Mettere in ordine alfabetico dei nomi presenti in un file

    Come da titolo vorrei sapere che strada utilizzereste voi per ordinare dei nomi (presenti in un file) in ordine alfabetico caricati in una struct(char cognome, char nome, int numero), è da ieri che ci penso ma le soluzioni che ho trovato si sono rivelate errate......

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Li carichi in memoria e li ordini con un algoritmo di ordinamento (puoi usare la funzione qsort ...)
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    24
    non esiste un metodo alternativo, utilizzando solamente dei cicli?

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Praticamente in tutti gli algoritmi di ordinamento ci sono dei cicli ... cosa intendi?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    24
    si hai ragione ho sbagliato a scrivere io, volevo sapere se era possibile realizzare la stessa cosa senza la funzione che ni hai indicato tu..

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Se non usi quella funzione devi comunque scrivere il codice per l'ordinamento ... puoi usare il bubble sort o un altro metodo ... ma uno lo devi usare.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    24
    Ok, avevo pensato anch'io ad una soluzione del genere ma ancora nn l'avevo applicata, ora ci provo e magari ti faccio sapere.....Grazie!!

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

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    24
    ho provato ad utilizzare il metodo di "selection sort", che è l'unico che conosco meglio, solamente che io lo utilizzavo per ordinare un vettore contenente numeri e non riesco a riadattarlo per i char, ho provato ad abbozzare la funizione che mi dovrebbe ordinare i nomi(avrò combinato sicuramente un casino):
    codice:
    void ordina(struct elenco *A,int B,FILE *C)
    {
    	int i,j,k,imin;
    	char V[10],temp[10];
    	fprintf(C,"Hanno superato l'esame:\n");
    	for(i=0;i<B;i++)
    	{
    		if(A[i].voto>15)
    		{
    			for(j=0;j<B-1;j++)
    			{
    				imin=j;
    				for(k=j+1;k<B;k++)
    				if(A[k].cognome<V[imin])
    					imin[j]=k;
    				temp[j]=A[j].cognome;
    				A[j].cognome=V[imin];
    				V[imin]=temp[j];
    			}
    			
    				
    					fprintf(C,"%s %s %d %d %d\n",A[i].cognome,A[i].nome,A[i].matricola,A[i].voto,A[i].posizione);
    	
    			
    		}
    	}
    }

  10. #10
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    24
    Mi sapreste dire dove ho sbagliato e come posso risolvere il problema?

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.