Задача на СИ, структуры. Известен рост каждого из 25 учеников класса.
Майк Лжец
Мастер
(2428),
на голосовании
6 лет назад
Известен рост каждого из 25 учеников класса. Ни одна пара учеников не имеет одинакового роста. а) Определить фамилии самого высокого и самого низкого учеников класса. б) Определить фамилии двух учеников, являющихся самыми высокими, без учета самого высокого ученика класса. в) Определить фамилии двух учеников, являющихся самыми высокими в классе, не используя при этом два оператора цикла (два прохода по массиву).
В пункте 'а' я не знаю как мне вывести именно фамилию учеников, а не просто самый высокий и низкий рост. Остальные пункты я вообще не знаю как мне сделать, помогите решить.
define n 25
int main() { int i=0,k=0,min=0,max=0,niskiy=0, vysokiy=0; struct uch { char family[10]; int rost } u; struct uch com[n]; printf("\n VVedite informaziy ob uchaschihsy \n"); for (i=0;i<n;i++) { printf("\n family, rost : "); scanf("%s%d",&u.family,&u.rost); com[i]=u; }
а) Определить фамилии самого высокого и самого низкого учеников класса.
б) Определить фамилии двух учеников, являющихся самыми высокими, без учета самого высокого ученика класса.
в) Определить фамилии двух учеников, являющихся самыми высокими в классе, не используя при этом два оператора цикла (два прохода по массиву).
В пункте 'а' я не знаю как мне вывести именно фамилию учеников, а не просто самый высокий и низкий рост. Остальные пункты я вообще не знаю как мне сделать, помогите решить.
define n 25
int main()
{
int i=0,k=0,min=0,max=0,niskiy=0, vysokiy=0;
struct uch {
char family[10];
int rost
} u;
struct uch com[n];
printf("\n VVedite informaziy ob uchaschihsy \n");
for (i=0;i<n;i++)
{
printf("\n family, rost : ");
scanf("%s%d",&u.family,&u.rost);
com[i]=u;
}
min=com[i].rost;
max=com[i].rost;
for (i=0;i<n;i++){
if(com[i].rostmax)
{
max=com[i].rost;
vysokiy=i;
}
}
printf("%Samyi niskiy %d\nSamyi vysokiy %d", niskiy, vysokiy );
getch();
return 0;
}