Вопрос задан 27.05.2018 в 07:19. Предмет Информатика. Спрашивает Сащеко Соня.

Пользователь вводит число,программа должна вывести на экран 3 случайных числа ,не совпадающих с

введённым пользователем числом . ( Паскаль) Я написала ,но проблема в условии ( сейчас просто цикл) . Исправьте пожалуйста! uses crt; var a,b,d:integer; Begin readln (a); randomize; for b:=1 to 3 do begin d:=random (3); write (' ',d,' '); end; end.
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Атрощенко Артём.

При таком задании придётся переделать цикл полностью. В частности, придётся отказаться от цикла for и использовать while. Также придётся ввести индекс, определяющий количество значений, не равных введённому. Используем переменную b для этой цели.
Переделывая твой код получаем следующее.
uses crt;
var a,b,d,i:integer;
Begin
  readln (a);
  randomize;
  b := 0;
  while i < 3 do
  begin
    d:=random (10);
    if d <> a then
    begin
     write (' ',d,' ');
     i += 1;
    end;
  end;
end.

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос