#include #include #include typedef struct { char name[31]; int area; int population; float popular; } DATA; int compar(const void *a, const void *b) { DATA *x=(DATA*)a; DATA *y=(DATA*)b; if(x->popular>y->popular) return -1; if(x->popularpopular) return 1; return strcmp(x->name,y->name); } int main(int argc, char **argv) { FILE *f = fopen("bemenet.txt","r"); float a = atof(argv[1]); DATA t[200]; char line[1000], *token; int index=0, i; while(fgets(line,1002,f)) { int szum=0; t[index].population=0; token=strtok(line,";"); strcpy(t[index].name,token); token=strtok(NULL,";"); t[index].area=atoi(token); while(token=strtok(NULL,";")) { szum+=atoi(token); } t[index].population=szum; t[index].popular=(float)t[index].population/t[index].area; if (t[index].popular>a) index++; } qsort(t,index,sizeof(DATA),compar); for(i=0; i