• Проверьте программу на правильность написания, пожалуйся

    program p1;
    var a: array [1..5] of real;
    i:integer; s:real;

    begin
    s:=0;
    for i:=1 to 5 do
    begin
    write('a[',i,']=');
    readln(a[i]);
    if a[i] > 0 then s:=s+1;
    end;
    writeln;
    writeln('количество положительных элементов = ', s);
    write('элементы, имеющие нечетные индексы:');
    for i:=1 to 5 do
    if i mod 2 <> 0 then write(' ',a[i]);
    end.

Ответы 2

  • program p1;

    var a: array [1..5] of real;

    i:integer; s:real = 0;

    begin

    for i:=1 to 5 do

    begin

    write('a[',i,']=');

    readln(a[i]);

    if a[i] > 0 then s:=s+1;

    end;

    writeln(#13#10,'количество положительных элементов = ', s:0:1);

    write('элементы, имеющие нечетные индексы:');

    for i:=1 to 5 do

    if i mod 2 <> 0 then write('  ',a[i]:0:1);

    end.  

    Вот, а так все идеально))

  • в целом программа работает. Хотя могу дать пару замечаний

    индексную переменную лучше объявлять в самом цикле.

    в паскале переменной не обязательно задавать стартовое нулевое значение, она и так будет равна 0.

    вместо s:=s+1 можно написать s += 1

    ну и отступы...

    после правок будет выглядеть примерно так:

    program p1;

    var

       a : array [1..5] of real;

       s : real;

    begin

       for var i:= 1 to 5 do

       begin

           write('a[', i, ']=');

           readln(a[i]);

           if a[i] > 0 then s += 1;

       end;

       writeln;

       writeln('количество положительных элементов = ', s);

       write('элементы, имеющие нечетные индексы:');

       for var i := 1 to 5 do if i mod 2 <> 0 then write(' ', a[i]);

    end.

  • Добавить свой ответ

Еще вопросы

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years