Пользователь вводит число,программа должна вывести на экран 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.

Rkkshv Rkkshv    2   30.07.2019 20:40    3

Ответы
tchasikova2018 tchasikova2018  28.09.2020 08:24
При таком задании придётся переделать цикл полностью. В частности, придётся отказаться от цикла 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.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика