• Массив a[1..10] заполните случайными целыми числами в диапазоне от 1 до 10. Определите, есть ли в массиве элемент, равный 5. Ответ выведите в виде слов "Да" или "Нет". В общем найдите мою ошибку(у меня выводится только 1 элемент, а не 10)
    Program shist;
    Var a:array[1..10] of integer;
    i:integer;
    Begin
    For i:=1 to 10 do
    a[i]:=Random(10)+1;
    writeln ('Исходный массив');
    For i:=1 to 10 do
    begin
    write (a[i], ' ');
    writeln;
    writeln ('Есть ли в массиве элемент, равный 5?');
    break;
    end;
    if a[i]=5 then write ('Да') else write ('Нет')
    End.
    И вот что получилось
    Исходный массив
    7
    Есть ли в массиве элемент, равный 5?
    Нет

Ответы 3

  • или можно Program shist;Var a:array[1..10] of integer;i:integer;BeginFor i:=1 to 10 doa[i]:=Random(10)+1;writeln ('Исходный массив');For i:=1 to 10 dobeginwrite (a[i], ' ');end;writeln;writeln ('Есть ли в массиве элемент, равный 5?');if a[i]=5 then write ('Да') else write ('Нет')End.
    • Автор:

      kiara
    • 6 лет назад
    • 0
  • Нет, у вас в предпоследней строке идет проверка if a[i]=5 then. Это условие находится вне цикла, поэтому идет проверка только if a[10]=5 then , тк i последний раз принимал значение 10.
    • Автор:

      adrian774
    • 6 лет назад
    • 0
  • Var a:array[1..10] of integer; q:boolean; i:integer; Begin Randomize; q:= false; writeln ('Исходный массив'); For i:=1 to 10 do begin a[i]:=Random(10)+1; write (a[i], ' '); if (a[i]=5) then q:=true; end; writeln; if (q) then writeln('da') else writeln('net'); end.
    • Автор:

      ace55
    • 6 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

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

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

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