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;
}