09/05/11 15:40
mycronapoli
Ragazzi... il programma in fase di compilazione non mi da nè errori, nè warnings.
Ma allora perchè una volta compilato quando lo eseguo si blocca?
Aiutatemi vi prego!!!! Sono disperatissimo!
Ma allora perchè una volta compilato quando lo eseguo si blocca?
#include <stdio.h> #include <stdlib.h> #include <string.h> struct persona{char *nome; char *cognome;}; typedef struct persona id; struct partecipante{id *utente; unsigned short codice;}; typedef struct partecipante Partecipante; void ordina_conc(struct partecipante concorrente[], int n); void val_min_ind(struct partecipante concorrente[],int n, int *indice_min); void scambiare_ST(struct partecipante *a, struct partecipante *b); int main() { Partecipante concorrente[2]; concorrente[0].utente->nome="Mirko"; concorrente[0].utente->cognome="Zammartino"; concorrente[0].codice=001; concorrente[1].utente->nome="Rita"; concorrente[1].utente->cognome="Arpaia"; concorrente[1].codice=002; printf("Concorrenti ordinati alfabeticamente:\n"); ordina_conc(concorrente, 2); printf("Hello world!\n"); return 0; } void ordina_conc(Partecipante concorrente[], int n) { int i, indice_min; for(i=0;i<n-1;i++) { val_min_ind(&concorrente[i],n-1, &indice_min); scambiare_ST(&concorrente[i],&concorrente[indice_min+i]); } } void val_min_ind(Partecipante concorrente[],int n, int *indice_min) { char *min_array; int i; min_array= concorrente[0].utente->cognome; puts("Copia effettuata\n"); *indice_min=0; for (i=1;i<n;i++) { if(strcmp(concorrente[i].utente->cognome,min_array)<0) { min_array=concorrente[i].utente->cognome; *indice_min=i; puts("Scambio effettuato.\n"); } } } void scambiare_ST(Partecipante *a, Partecipante *b) { Partecipante temp; temp=*a; *a=*b; *b=temp; }
Aiutatemi vi prego!!!! Sono disperatissimo!
aaa