Сформировать два массива целых чисел; вывести числа, встречающиеся в каждом массиве - Pascal
Формулировка задачи:
сформировать два массива целых чисел определенной длины вывести на печать числа встречающиеся в каждом массиве
в паскале
Решение задачи: «Сформировать два массива целых чисел; вывести числа, встречающиеся в каждом массиве»
textual
Листинг программы
uses
crt;
const
n = 10;
var
A, B: array[1..n] of Integer;
i, j: Integer;
k: Boolean;
begin
clrscr;
randomize;
writeln('Array A: ');
for i := 1 to n do
begin
A[i] := random(n);
write(a[i]:4);
end;
writeln;
writeln('Array B: ');
for i := 1 to n do
begin
B[i] := random(n);
write(b[i]:4);
end;
writeln;
writeln('Числа встречающиеся в каждом массиве: ');
for i := 1 to n do
begin
k := false;
for j := 1 to n do
if A[i] = B[j] then
begin
k := true;
continue;
end;
if k then
write(' ', A[i]);
end;
for i := 1 to n do
begin
k := false;
for j := 1 to n do
if B[i] = A[j] then
begin
k := true;
continue;
end;
if k then
write(' ', B[i]);
end;
readkey;
end.
Объяснение кода листинга программы
- Объявляются переменные:
A, B: array[1..n] of Integer;- массивы целых чисел размером ni, j: Integer;- переменные для цикловk: Boolean;- переменная для хранения флага
- Генерируются случайные числа и заполняется массив А:
- Цикл от 1 до n, генерация случайного числа и его запись в массив A
- Выводится массив А:
- Генерируются случайные числа и заполняется массив B:
- Цикл от 1 до n, генерация случайного числа и его запись в массив B
- Выводится массив B:
- Ищутся числа, встречающиеся в каждом массиве:
- Цикл от 1 до n для массива A:
- Устанавливается флаг k в
false - Цикл от 1 до n для массива B:
- Если текущий элемент массива A равен текущему элементу массива B:
- Устанавливается флаг k в
true - Продолжается выполнение цикла
- Устанавливается флаг k в
- Если флаг k установлен в
true, то выводится текущий элемент массива A
- Устанавливается флаг k в
- Цикл от 1 до n для массива A:
- Ищутся числа, встречающиеся в каждом массиве:
- Цикл от 1 до n для массива B:
- Устанавливается флаг k в
false - Цикл от 1 до n для массива A:
- Если текущий элемент массива B равен текущему элементу массива A:
- Устанавливается флаг k в
true - Продолжается выполнение цикла
- Устанавливается флаг k в
- Если флаг k установлен в
true, то выводится текущий элемент массива B
- Устанавливается флаг k в
- Цикл от 1 до n для массива B:
- Ожидается нажатие клавиши.