Certo che non li ascolti i consigli e continui di testa tua:codice:#include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct { char luogo[30]; float valore; }rilevazioni; void sort(rilevazioni *a, int size) { int i, j; rilevazioni temp; for(i = size - 1; i > 0; i--) { for(j = 0; j < i; j++) { if(a[j].valore < a[j+1].valore) { temp = a[j]; a[j] = a[j+1]; a[j+1] = temp; } } } } int main() { rilevazioni *dati=NULL; int size = 0; char luogo[30]; while(1) { printf("Inserisci luogo: "); scanf("%s", luogo); if(strcmp(luogo, "end")==0) break; dati = (rilevazioni *)realloc(dati, sizeof(rilevazioni)*(size+1)); strcpy(dati[size].luogo, luogo); printf("Inserisci tasso d'inquinamento: "); scanf("%f", &dati[size].valore); size += 1; } sort(dati, size); int i; printf("\n\n"); for(i = 0; i < size; i++) { if(dati[i].valore < 33) break; printf("Luogo: %s\t\tTasso d'Inquinamento: %f\n", dati[i].luogo, dati[i].valore); } free(dati); return 0; }

Rispondi quotando