const N = 7;
const MAX = 10;
var a,b,c: array [1..N] of integer;
var d: array [1..N] of boolean;
var i,j,k,flag: integer;
begin
// Автозаполнение
randomize();
for i:=1 to N do
a[i]:=random(MAX+1);
b[i]:=random(MAX+1);
c[i]:=random(MAX+1);
d[i]:=false;
end;
// Вывод на экран
write('Массив a: ');
for i:=1 to N do write(a[i],' ');
write(сhr(10),'Массив b: ');
for i:=1 to N do write(b[i],' ');
write(сhr(10),'Массив c: ');
for i:=1 to N do write(c[i],' ');
// Поиск элементов, принадлежащих всем 3м массивам
write(сhr(10),'Элементы, принадлежащие всем трем массивам: ');
flag:=0;
// Следующий цикл проверяет, есть ли элемент a[i]
// в массиве b.
for j:=1 to N do
if (a[i]=b[j]) then
flag:=flag+1;
break;
// в массиве c.
if (a[i]=c[j]) then
// Если элемент найдет во всех трех массивах, в массиве d
// указывается, что данный элемент уже найден
if (flag=2) then d[i]:=true;
// В следующем цикле проверяется, был ли уже в массиве a
// элемент a[i]. Если был, и если он есть во всех трех массивах
// (условие d[k]), то флаг обнуляется и элемент не выводится
if (i>0) and (flag=2) then
for k:=i-1 downto 1 do
if (a[k]=a[i]) and (d[k]) then flag:=0;
if (flag=2) then write(a[i],' ');
end.
const N = 7;
const MAX = 10;
var a,b,c: array [1..N] of integer;
var d: array [1..N] of boolean;
var i,j,k,flag: integer;
begin
// Автозаполнение
randomize();
for i:=1 to N do
begin
a[i]:=random(MAX+1);
b[i]:=random(MAX+1);
c[i]:=random(MAX+1);
d[i]:=false;
end;
// Вывод на экран
write('Массив a: ');
for i:=1 to N do write(a[i],' ');
write(сhr(10),'Массив b: ');
for i:=1 to N do write(b[i],' ');
write(сhr(10),'Массив c: ');
for i:=1 to N do write(c[i],' ');
// Поиск элементов, принадлежащих всем 3м массивам
write(сhr(10),'Элементы, принадлежащие всем трем массивам: ');
for i:=1 to N do
begin
flag:=0;
// Следующий цикл проверяет, есть ли элемент a[i]
// в массиве b.
for j:=1 to N do
begin
if (a[i]=b[j]) then
begin
flag:=flag+1;
break;
end;
end;
// Следующий цикл проверяет, есть ли элемент a[i]
// в массиве c.
for j:=1 to N do
begin
if (a[i]=c[j]) then
begin
flag:=flag+1;
break;
end;
end;
// Если элемент найдет во всех трех массивах, в массиве d
// указывается, что данный элемент уже найден
if (flag=2) then d[i]:=true;
// В следующем цикле проверяется, был ли уже в массиве a
// элемент a[i]. Если был, и если он есть во всех трех массивах
// (условие d[k]), то флаг обнуляется и элемент не выводится
if (i>0) and (flag=2) then
for k:=i-1 downto 1 do
if (a[k]=a[i]) and (d[k]) then flag:=0;
if (flag=2) then write(a[i],' ');
end;
end.