Ввод массива. Закончить программу по заполнению массива - PascalABC.NET

Формулировка задачи:

Нужно ввести с клавиатуры два непустых неубывающих массива целых чисел. Сформировать третий неубыв. массив различных чисел, в которой переписать те и только те элементы, которые встречаются в обоих исходных массивах (пересечение множеств). Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из них.
program massiv2;
const M=30;
const N=30;
var a: array [1..M] of integer;
var b: array [1..N] of integer;
var c: array [1..M+N] of integer;
i, j, k: integer;
 
begin
  for i:= 1 to M do
  readln(a[i]);
  for j:= 1 to N do
  readln(b[j]);
 
 
  ...
  end.
Необходимо дописать программу, используя те же самые исходные данные и переменные, какие были в условии. Это первая программа с массивами, пока не догоняю. Но точно знаю, что a или b можно не использовать.Добавлено через 1 час 39 минутЕсли убрать массив "a", т.к. он равен "b", то останется "b" и "c". Пересечение множества, как я понял, это когда числа из массивов совпадают. То есть в "b" массиве от 1 до 30, а в "c" массиве от 1 до 60, значит совпадение это от 1 до 30, и переменную k будем использовать чтобы заполнить массив от 1 до 30. Заполнить с клавиатуры значит каждое число от 1 до 30 писать вручную через enter? В конце еще вывести надо через writeln?

Код к задаче: «Ввод массива. Закончить программу по заполнению массива - PascalABC.NET»

textual
program massiv2;
const
  M = 30;
const
  N = 30;
var
  a: array [1..M] of integer;
var
  b: array [1..N] of integer;
var
  c: array [1..M + N] of integer;
  i, j, k: integer;
 
begin
  for i := 1 to M do
    readln(a[i]);
  for j := 1 to N do
    readln(b[j]);
  k := 1;
  for i := 1 to M do  
    for j := 1 to N do
    begin
      if (k = 1) and (a[i] = b[j]) then
      begin
        c[k] := a[i];
        k := k + 1;
      end
      else
      if (a[i] = b[j]) and (c[k - 1] <> a[i]) then
      begin
        c[k] := b[j];
        k := k + 1;
      end;      
    end;
  writeln('Массив С: ');
  for i := 1 to k-1 do write(c[i], ' ');
end.

8   голосов, оценка 3.875 из 5


СОХРАНИТЬ ССЫЛКУ