Buonasera ragazzi,
premetto che sono nuovo del forum e questo è il mio primo post qui. Volevo una mano per quanto riguarda questo programma che mi dovrebbe stampare a video i contatti in ordine alfabetico (cognome).Il problema che riscontro è dato dal fatto che mi vengono stampati caratteri a caso, ci sarà sicuramente qualcosa di sbagliato nel bubble sort.
Grazie a chiunque mi risponderà.codice:#include <stdio.h> #include <string.h> typedef struct rubrica { char nome[12]; char cognome[12]; int numero[12]; }contatto; main() { int i,j,m; printf("Quanti contatti vuoi inserire?:\t"); scanf("%d",&m); contatto n[m]; contatto f[m]; char temp[m]; int k; for(i=0;i<m;i++) { printf("Inserisci %d nome:\t",i+1); scanf("%s",n[i].nome); printf("Inserisci %d cognome:\t",i+1); scanf("%s",n[i].cognome); printf("Inserisci %d numero di telefono:\t",i+1); scanf("%d",&n[i].numero); } for(i=0;i<m;i++) { for(k=0;k<m-i-1;k++) { if((strcmp(n[i].cognome,n[i+1].cognome)>0)) { strcpy(temp[i],n[i].cognome); strcpy(f[i].cognome,n[i].cognome); strcpy(temp[i+1],f[i].cognome); } } } for(i=0;i<m;i++) { printf("%s\n",f[i].cognome); } }

Rispondi quotando