visto che il problema ce l'ho ancora, ho dovuto aprire un'altra discussione visto che l'altra mi è stata chiusa,.il codice spero di averlo inserito giusto questa volta.come detto prima penso che il problema sia intorno alla riga 83 dove il programma va in crash..considerando che è la prima volta che mi succede non ho la minima idea di cosa scrivere come titolo della discussione e non so cosa cercare su google o in discussioni precedenti visto che non so quale sia il problema...spero che qualcuno sia in grado di risolvermi il problema considerando che il mio prof non sapeva nemmeno da dove partire ....codice:// data la struttura studente con nome cognome voto orale voto scritto voto pratico di informatica,caricare la struttura //per ogni studente stampare la media,stampare lo studente con la media più alta,studente con voto più alto/basso //dire pure quelli rimandati #include<stdio.h> #include<stdlib.h> #include<string.h> typedef struct{char nome [20];char cognome [20];float votoo;float votos;float votop;}studente; main() { studente studenti[20]; int c,n=1,k,j,u,f,g; float somma,media[20],media1,votooM,votooB,votosM,votosB,votopM,votopB; char nome1[20],nome2[20],nome3[20]; for(c=0;c<3;c++) { printf("\nInserisci il nome,cognome del %d studente: ",n); scanf("%s",studenti[c].nome); scanf("%s",studenti[c].cognome); printf("\nINserisci il voto:\n-Orale,\n-Scritto,\n-Pratico:\n"); scanf("%f",&studenti[c].votoo); scanf("%f",&studenti[c].votos); scanf("%f",&studenti[c].votop); n++; } media[0]=(studenti[0].votoo+studenti[0].votos+studenti[0].votop)/3; media1=media[0]; votooM=studenti[0].votoo; votooB=studenti[0].votoo; votosM=studenti[0].votos; votosB=studenti[0].votos; votopM=studenti[0].votop; votopB=studenti[0].votop; for(c=0;c<3;c++) { media[c]=(studenti[c].votoo+studenti[c].votos+studenti[c].votop)/3; printf("\nLa media di %s %s e' %.2f",studenti[c].nome,studenti[c].cognome,media[c]); if(media[c]>media1) { media1=media[c]; k=c; } } printf("\nLa media piu' alta e' quella di %s %s con %.2f",studenti[k].nome,studenti[k].cognome,media1); for(c=0;c<3;c++) { if(studenti[c].votoo>votooM) { votooM=studenti[c].votoo; k=c; } if(studenti[c].votoo<votooB) { votooB=studenti[c].votoo; n=c; } if(studenti[c].votos>votosM) { votosM=studenti[c].votos; j=c; } if(studenti[c].votos<votosB) { votosB=studenti[c].votos; u=c; } if(studenti[c].votop>votopM) { votopM=studenti[c].votop; f=c; } if(studenti[c].votop<votopB) { votopB=studenti[c].votop; g=c; } } printf("\nVoto orale:\n-MAGGIORE: %s %s con %.1f;\n-MINORE: %s %s con %.1f;",studenti[k].nome,studenti[k].cognome,votooM,studenti[n].nome,studenti[n].cognome,votooB); printf("\nVoto scritto:\n-MAGGIORE: %s %s con %.1f;\n-MINORE: %s %s con %.1f;",studenti[j].nome,studenti[j].cognome,votosM,studenti[u].nome,studenti[u].cognome,votosB); printf("\nVoto pratico:\n-MAGGIORE: %s %s con %.1f;\n-MINORE: %s %s con %.1f;",studenti[f].nome,studenti[f].cognome,votopM,studenti[g].nome,studenti[g].cognome,votopB); printf("\n\nSONO RIMANDATI:"); for(c=0;c<3;c++) { if(media[c]<5.5) printf("\n- %s %s con %.2f ",studenti[c].nome,studenti[c ].cognome,media[c]); } system("pause"); }