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.
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);
}
}
Grazie a chiunque mi risponderà.