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

Почему программа выводит некорректный результат?

Найдите способ сформировать ряд случайных булевых значений, напечатайте 20 из них. Подсказка: булевы значения плучаются сравнением двух случайных целых чисел.


Программа выдаёт непонятный результат. По-моему, она некорректно сравнивает элементы. В чём я ошибся? Писал программу в PascalABC.

program randbul;
uses crt;
var A: array [1..20] of integer;
    B: array [1..20] of integer;
    result: boolean;
    i,j,n,m: integer;
begin
     clrscr;
     n:=20;
     m:=20;
     for i:=1 to n do
         begin
              Randomize;
              A[i]:=random(20);
         end;
     Writeln('Ìàññèâ A: ');
     {for i:=1 to N do
         Writeln(A[i])};
     for j:=1 to M do
         begin
              Randomize;
              B[j]:=random(20);
         end;
     Writeln('Ìàññèâ B: ');
     {for j:=1 to M do
         Writeln(B[j]);}
     {if (A[i] = B[i]) then
        writeln('True.')
     else
         Writeln('False.');  }
     for i:=1 to N do
         for j:=1 to M do
             if (A[i] = B[j]) then
                begin
                   Writeln(A[i]);
                   Writeln(B[j]);
                   result:=true;
                   writeln('   ', Result);
                end
             else
                 begin
                      //Writeln(A[i]);
                      //Writeln(B[j]);
                      result:=false;
                      writeln('   ', Result);
                 end
end.
  • Вопрос задан
  • 89 просмотров
Подписаться 1 Простой 5 комментариев
Решения вопроса 1
@atomengineer
Массивы тут не нужны.

var x,y,i: integer;
        Z: boolean;
begin
     Randomize;
     repeat
           x:=Random(20);
           y:=Random(20);
           Z:=(x>=y);
           writeln(Z);
           i:=i+1;
     until i>20;
end.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы