}
while(!(feof(f))) //пока не конец файла
{ fscanf(f," %d ",&num); //считываем и прибавляем команде с соотв. номером единицу
table.prognoz[num-1].first=table.prognoz[num-1].first+1;
fscanf(f," %d ",&num); if(num>N)printf("table full\n");
table.prognoz[num-1].last=table.prognoz[num-1].last+1;
fscanf(f," %d ",&num); if(num>N)printf("table full\n");
table.prognoz[num-1].three=table.prognoz[num-1].three+1;
fscanf(f," %d ",&num); if(num>N)printf("table full\n");
table.prognoz[num-1].three=table.prognoz[num-1].three+1;
fscanf(f," %d ",&num); if(num>N)printf("table full\n");
table.prognoz[num-1].three=table.prognoz[num-1].three+1;
i++;
}
for( k=0 ; k<N ; k++) //начало цикла сортировки
{ max=table.prognoz[k].first+table.prognoz[k].three-table.prognoz[k].last;
//пристваиваем максимаьному значению значение первое неотсортированной части
t=k;
for(j=k+1;j<N;j++) //мы проходим всю неотсортированную часть в поиске макс
{ mid=table.prognoz[j].first+table.prognoz[j].three-table.prognoz[j].last;
if(mid>max)
{ t=j;
max=mid;
}
}
move(table,t,k); //добавляем в конец отсортированной части в таблице найденный макс
}
fprintf(f1,"#team first last three"); //записываем в файл результаты, предварительно сделав из них проценты
for ( k=0;k<N;k++)
{ fprintf(f1,"\nteam #%d",table.prognoz[k].name);
table.prognoz[k].first=table.prognoz[k].first/i*100;
fprintf(f1," %.1f",table.prognoz[k].first);
table.prognoz[k].last=table.prognoz[k].last/i*100;
fprintf(f1," %.1f",table.prognoz[k].last);
table.prognoz[k].three=table.prognoz[k].three/i*100;
fprintf(f1," %.1f",table.prognoz[k].three);
}
fclose(f); // закрываем файлы
fclose(f1);
}
Дано |
Результат |
1 2 1 6 8 9 5 9 8 6 5 6 5 8 7 5 3 6 5 4 |
#team first% %last %three team #1 25 0 25 team #2 0 25 0 team #3 0 25 0 team #4 0 0 25 team #5 50 25 50 team #6 0 25 75 team #7 0 0 25 team #8 0 0 75 team #9 25 0 25 |
7 8 9 5 7 1 8 6 1 2 8 7 6 8 6 1 9 5 2 1 9 5 9 7 6 |
#team first% %last %three team #1 40.0 0.0 40.0 team #2 0.0 0.0 40.0 team #3 0.0 0.0 0.0 team #4 0.0 0.0 0.0 team #5 0.0 20.0 40.0 team #6 0.0 0.0 80.0 team #7 20.0 20.0 40.0 team #8 20.0 40.0 20.0 team #9 20.0 20.0 40.0 |
1 5 8 9 1 2 5 7 8 2 3 6 2 3 7 |
#team first% %last %three team #1 33.3 0.0 33.3 team #2 33.3 0.0 66.7 team #3 33.3 0.0 33.3 team #4 0.0 0.0 0.0 team #5 0.0 66.7 0.0 team #6 0.0 33.3 0.0 team #7 0.0 0.0 66.7 team #8 0.0 0.0 66.7 team #9 0.0 0.0 33.3 |
7. Результаты работы программы
Программа работает верно, что подтверждается тестами.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.