✎ Задать свой вопрос   *более 30 000 пользователей получили ответ на «Решим всё»

Задача 894 На вход программе подаются сведения о

УСЛОВИЕ:

На вход программе подаются сведения о сдаче экзаменов учениками 9-х классов некоторой средней школы. В первой строке сообщается количество учеников N, которое не меньше 10, но не превосходит 100, каждая из следующих N строк имеет следующий формат:

<Фамилия> <Имя> <оценки>,

где <Фамилия> – строка, состоящая не более чем из 20 символов, <Имя> – строка, состоящая не более чем из 15 символов, <оценки> – через пробел три целых числа, соответствующие оценкам по пятибалльной системе. <Фамилия> и <Имя>, а также <Имя> и <оценки> разделены одним пробелом. Пример входной строки:

Иванов Петр 4 5 3

Требуется написать как можно более эффективную программу (укажите используемую версию языка программирования, например, Borland Pascal 7.0), которая будет выводить на экран фамилии и имена трех худших по среднему баллу учеников. Если среди остальных есть ученики, набравшие тот же средний балл, что и один из трех худших, то следует вывести и их фамилии и имена.

РЕШЕНИЕ:

const LIM = 100;
var Info: array[1..LIM] of record
name: string;
sum: integer;
end;
i, k, N, mark, min1, min2, min3: integer;
c: char;
begin
readln(N);
{ ввод исходных данных }
for i:=1 to N do begin
Info[i].name := '';
for k:=1 to 2 do
repeat
read(c);
Info[i].name := Info[i].name + c;
until c = ' ';
Info[i].sum := 0;
for k:=1 to 3 do begin
read(mark);
Info[i].sum := Info[i].sum + mark;
end;
readln;
end;
{ поиск трех минимальных }
min1 := 20; min2 := 20; min3 := 20;
for i:=1 to N do begin
if Info[i].sum <min1 then begin
min3 := min2; min2 := min1;
min1 := Info[i].sum;
end
else if Info[i].sum <min2 then begin
min3 := min2;
min2 := Info[i].sum;
end
else if Info[i].sum <min3 then
min3 := Info[i].sum;
end;
{ вывод результата }
for i:=1 to N do
if Info[i].sum <= min3 then
writeln(Info[i].name);
end.

Вопрос к решению?
Нашли ошибку?

Добавил slava191, просмотры: ☺ 3765 ⌚ 10.04.2014. информатика 10-11 класс

Решения пользователелей

Хочешь предложить свое решение? Войди и сделай это!
Увы, но свой вариант решения никто не написал... Будь первым!

Написать комментарий

Последние решения
1.
20%=20/100=0,2
15*0,2=3 рубля составляет повышение
15+3=18 рублей стоит билет
100:18=6 билетов можно купить

3.
S( Δ)=(1/2)a*h=(1/2)*3*8=12

4
5^(x+3)=5^3
x+3=3
x=0

5.
V=S_(осн)*Н= (1/2)*a*b*H=(1/2)*3*6*10=90

8.
C=2*1+ln4^3-ln64=2+ln(64/64)=2+ln(1)=2+0= [b]2[/b]
[удалить]
✎ к задаче 38238
(x^2/a^2)+(y^2/b^2)=1 - каноническое уравнение эллипса.

Делим данное уравнение на 9
(x^2/9)+(y^2/3)=1

a^2=9
[b]a=3[/b] - большая полуось

b^2=3
[b]b=sqrt(3)-[/b] малая полуось

b^2=a^2-c^2 ⇒ c^2=a^2-b^2=9-3=6

c=sqrt(6)

[b]F_(1)(-sqrt(6);0) ; F_(2)(sqrt(6);0)[/b]- фокусы

(прикреплено изображение) [удалить]
✎ к задаче 38245
S_(правильного треугольника)=a^2sqrt(3)/4
a^2sqrt(3)/4=sqrt(3)
a^2/4=1
a^2=4
a=2 - сторона основания

V=(1/3)*S_(осн)*Н

1/sqrt(3)=(1/3)*sqrt(3)*H

H=1

b=sqrt(H^2+R^2)

R=asqrt(3)/3=2sqrt(3)/3

b=sqrt(1+(2sqrt(3)/3)^2)=sqrt(1+(4/3))=sqrt(7/3)=sqrt(21)/3

О т в е т. sqrt(21)/3
(прикреплено изображение) [удалить]
✎ к задаче 38246
( sin^2(a)-cos^2(a)+cos^4(a)/(cos^2(a)-sin^2(a)+sin^4(a))=
=(cos^4(a)-cos2a)/(sin^4(a)+cos2a)=(cos^4(a)-2cos^2(a)+1)/(sin^4(a)-2sin^2(a)+1)=((1-cos^2(a))^2/((1-sin^2(a))^2=(sin^2(a))^2/(cos^2(a))^2=tq^4(a).
Ответ: tq^4(a).
[удалить]
✎ к задаче 38239
(прикреплено изображение) [удалить]
✎ к задаче 38244