• Требовалось написать программу, при выполнении которой с клавиатуры вводится последовательность из шести неотрицательных целых чисел, не превышающих 106, подсчитывается и выводится сумма введённых чётных чисел или 0, если чётных чисел в последовательности нет.

    var n, s: longint;
    i: integer;
    begin
    s:=1;
    for i:=1 to 6 do begin
    readln(n);
    if i mod 2 = 0 then
    s := s + n;
    end;
    write(s);
    end.

Ответы 1

  • Ошибки

    var n, s: longint;

    i: integer;

    begin

    s:=1 ;

    for i:=1 to 6 do begin

    readln(n);

    if i mod 2 = 0 then

    s := s + n;

    end;

    write(s);

    end.

    1. Из за того что сумма в начале равняется единице, то при конечном выводе суммы она всегда будет больше чем нужно на единицу, а при ненахождении чётных чисел вывод будет 1 , а не 0
    2. Проверяется чётность номера введённого числа а не само число, то есть если число было введено вторым, но при этом оно нечётное, то программа считает его как чётное

    Правильный вариант программы

    var n, s: longint;

    i: integer;

    begin

    s:=0;

    for i:=1 to 6 do begin

    readln(n);

    if n mod 2 = 0 then

    s := s + n;

    end;

    write(s);

    end.

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

Еще вопросы

Войти через Google

или

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

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

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