Имеется 10 результатов по прыжкам в длину c1,c2,c3,...c10. Вывести ** печать номера...

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

Имеется 10 результатов по прыжкам в длину c1,c2,c3,...c10. Вывести на печать номера спортсменов, чей результат превышает n метров.


program sport;
Var c:array [1..10] of integer;
i:integer;
n:real;
Begin
for i:=1 to 10 do readln (c[i]);
for i;=1 to 10 do
if c[i]>n then writeln ('i=',i);
end.

когда начинаю вводить значения,то вводиться вместо 10 целых 20. Программа выполняется,но я не понимаю,почему нужно вводть 20,а не 10 значений. Что не так?


Информатика (15 баллов) | 40 просмотров
0

Нужно кое-что поправить. for i;=1 to 10 do заменить на for i:=1 to 10 do. В начале программы readln(n);. А вводит она 10 значений, с этим всё нормально.

Дан 1 ответ
0 голосов
Правильный ответ

Program sport;

const
    m = 10;

var
    c: array [1..m] of integer;
    i: integer;
    n: real;

begin
    write('n=');
    readln(n);
    
    for i := 1 to m do
    begin
        write('c[', i, ']=');
        readln(c[i]);
    end;
    
    for i := 1 to m do
        if c[i] > n then
            write(i, ' ');
end.

Тест:
n=5
c[1]=1
c[2]=4
c[3]=7
c[4]=2
c[5]=5
c[6]=8
c[7]=3
c[8]=6
c[9]=9
c[10]=1
3 6 8 9

(53.1k баллов)