Мне нужно отладить программу в Паскале. Я её составила, но она работает не до конца...

0 голосов
44 просмотров

Мне нужно отладить программу в Паскале. Я её составила, но она работает не до конца правильно. Исправьте пожалуйста.
Текст задачи:
На­пи­ши­те про­грам­му для ре­ше­ния сле­ду­ю­щей за­да­чи. Де­вя­ти­класс­ни­ки участ­во­ва­ли в вик­то­ри­не по ма­те­ма­ти­ке. Не­об­хо­ди­мо было от­ве­тить на 20 во­про­сов. По­бе­ди­те­лем вик­то­ри­ны счи­та­ет­ся участ­ник, пра­виль­но от­ве­тив­ший на наи­боль­шее ко­ли­че­ство во­про­сов. На сколь­ко во­про­сов по­бе­ди­тель от­ве­тил пра­виль­но? Если есть участ­ни­ки вик­то­ри­ны, ко­то­рые не смог­ли дать пра­виль­ный ответ ни на один из во­про­сов, вы­ве­ди­те YES, иначе вы­ве­ди­те NO. Га­ран­ти­ру­ет­ся, что есть участ­ни­ки, пра­виль­но от­ве­тив­шие хотя бы на один из во­про­сов. Про­грам­ма по­лу­ча­ет на вход число участ­ни­ков вик­то­ри­ны N (1 ? N ? 50), затем для каж­до­го участ­ни­ка вво­дит­ся ко­ли­че­ство во­про­сов, на ко­то­рые по­лу­чен пра­виль­ный ответ.
Моя программа:
Program p1;
var
a,b,max,n:integer;
begin
max:=0;
writeln('Введите кол-во участников>>');
readln(n);
writeln('Введите кол-во правильных ответов данных участником 1');
readln(a);
max:=a;
for b:= 1 to n-1 do
writeln('Введите кол-во правильных ответов данных участником ',b+1);
readln(a);
if (a > max) then
max:=a
else
begin
if a=0 then
writeln('YES')
else
writeln('NO');
end;
writeln('Победитель набрал ',max,' кол-во баллов');
end.


Информатика (81 баллов) | 44 просмотров
Дано ответов: 2
0 голосов
Правильный ответ

Program p1;
var
n,a,i,max,fl:integer;
begin
writeln('Введите кол-во участников>>');
readln(n);
max:=0; fl:=0;
for i:=1 to n do
 begin
 writeln('Введите кол-во правильных ответов, данных участником ',i); 
 readln(a);
 if (a > max) then max:=a;
 if a=0 then fl:=1;
 end;
if fl=1 then writeln('YES') else writeln('NO');
writeln('Победитель набрал ',max,' баллов');
end.

Пример:
Введите кол-во участников>> 5
Введите кол-во правильных ответов, данных участником 1 15
Введите кол-во правильных ответов, данных участником 2 18
Введите кол-во правильных ответов, данных участником 3 0
Введите кол-во правильных ответов, данных участником 4 8
Введите кол-во правильных ответов, данных участником 5 10
YES
Победитель набрал 18 баллов

(194k баллов)
0 голосов

Тебе в выводе нужно каждую запятую брать в две ковычки

(131 баллов)