Ошибка в компиляции if

PascalABCCompiler.Core v3.3.0.1579 (18.11.2017), debug version Runtime version: 4.0.30319.42000 OS version: Microsoft Windows NT 6.2.9200.0 Processor count: 4 WorkingSet: 42880 kb


ошибка “Program1.pas(16) : Операция ‘=’ не применима к типам boolean и integer”


Код Pascal

[spoiler]var sudin, sudout: text; a1, a2, a3, a4, b1, b2, b3, b4, c1, c2, c3, c4, d1, d2, d3, d4: integer;

begin assign(sudin, ‘C:/games/sud_in.txt’); reset(sudin); readln(a1, a2, a3, a4, b1, b2, b3, b4, c1, c2, c3, c4, d1, d2, d3, d4);

writeln(a1, a2, a3, a4); writeln(b1, b2, b3, b4); writeln(c1, c2, c3, c4); writeln(d1, d2, d3, d4);

if a2 = 2 or a3 = 2 or a1 = 2 or b1 = 2 or c1 = 2 or d1 = 2 or a2 = 3 or a3 = 3 or a1 = 3 or b1 = 3 or c1 = 3 or d1 = 3 or a2 = 4 or a3 = 4 or a1 = 4 or b1 = 4 or c1 = 4 or d1 = 4 then a1 := 1; if a2 = 1 or a3 = 1 or a1 = 1 or b1 = 1 or c1 = 1 or d1 = 1 or a2 = 3 or a3 = 3 or a1 = 3 or b1 = 3 or c1 = 3 or d1 = 3 or a2 = 4 or a3 = 4 or a1 = 4 or b1 = 4 or c1 = 4 or d1 = 4 then a1 := 2; if a2 = 1 or a3 = 1 or a1 = 1 or b1 = 1 or c1 = 1 or d1 = 1 or a2 = 2 or a3 = 2 or a1 = 2 or b1 = 2 or c1 = 2 or d1 = 2 or a2 = 4 or a3 = 4 or a1 = 4 or b1 = 4 or c1 = 4 or d1 = 4 then a1 := 3; if a2 = 1 or a3 = 1 or a1 = 1 or b1 = 1 or c1 = 1 or d1 = 1 or a2 = 2 or a3 = 2 or a1 = 2 or b1 = 2 or c1 = 2 or d1 = 2 or a2 = 3 or a3 = 3 or a1 = 3 or b1 = 3 or c1 = 3 or d1 = 3 then a1 := 4;

if a1 = 2 or a3 = 2 or a1 = 2 or b1 = 2 or c1 = 2 or d1 = 2 or a1 = 3 or a3 = 3 or a1 = 3 or b1 = 3 or c1 = 3 or d1 = 3 or a1 = 4 or a3 = 4 or a1 = 4 or b1 = 4 or c1 = 4 or d1 = 4 then a2 := 1; if a1 = 1 or a3 = 1 or a1 = 1 or b1 = 1 or c1 = 1 or d1 = 1 or a1 = 3 or a3 = 3 or a1 = 3 or b1 = 3 or c1 = 3 or d1 = 3 or a1 = 4 or a3 = 4 or a1 = 4 or b1 = 4 or c1 = 4 or d1 = 4 then a2 := 2; if a1 = 1 or a3 = 1 or a1 = 1 or b1 = 1 or c1 = 1 or d1 = 1 or a1 = 2 or a3 = 2 or a1 = 2 or b1 = 2 or c1 = 2 or d1 = 2 or a1 = 4 or a3 = 4 or a1 = 4 or b1 = 4 or c1 = 4 or d1 = 4 then a2 := 3; if a1 = 1 or a3 = 1 or a1 = 1 or b1 = 1 or c1 = 1 or d1 = 1 or a1 = 2 or a3 = 2 or a1 = 2 or b1 = 2 or c1 = 2 or d1 = 2 or a1 = 3 or a3 = 3 or a1 = 3 or b1 = 3 or c1 = 3 or d1 = 3 then a2 := 4;

writeln(a1, a2, a3, a4); writeln(b1, b2, b3, b4); writeln(c1, c2, c3, c4); writeln(d1, d2, d3, d4); end.[/spoiler]


sud_in.txt

1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0


P.S. не судите строго

Ставьте скобочки: if (a=0) or (b=0) then А ещё попробуйте использовать циклы :wink:

и ведь не лень же было… :smiley:

1 симпатия