Задача 3 урок 23

Задача 3 урок 23

Есть массив массив уникальных, ненулевых элементов (целые числа, 10 элементов):

[123, 45, 5638, 49, -78, 22, 5, 345, 68, 7]

После каких-то преобразований получился массив:

[123, 5638, 22, 5, 68, 7, 0, 0, 0, 0]

Задача: сформируйте ещё один массив из "потерянных" чисел (всех элементов 1-ого массива, которых нет во втором).

Решение

program task_3_lesson23;
type arr = array[1..10] of integer;
var a,b,c: arr;
    i,j: integer;
    flag: boolean;
function check(n: integer; s: arr): boolean;
var i : integer;
begin
  for i := 1 to 10 do
    if s[i] = n then
    begin
      result := false;
      break;
    end
    else
      result := true;
end;

begin
  // a: [123, 45, 5638, 49, -78, 22, 5, 345, 68, 7]
  // b: [123, 5638, 22, 5, 68, 7, 0, 0, 0, 0]
  // c: [?];
  a[1] := 123;        b[1] := 123;
  a[2] := 45;         b[2] := 5638;
  a[3] := 5638;       b[3] := 22;
  a[4] := 49;         b[4] := 5;
  a[5] := - 78;       b[5] := 68;
  a[6] := 22;         b[6] := 7;
  a[7] := 5;          b[7] := 0;
  a[8] := 345;        b[8] := 0;
  a[9] := 68;         b[9] := 0;
  a[10] := 7;         b[10] := 0;
  j := 1;
  for i := 1 to 10 do
  begin
    flag := check(a[i], b);
    if flag then
    begin
      c[j] := a[i];
      j := j + 1;
    end;
  end;
  for i:= 1 to 10 do
    write(c[i], ' ');
  readln
end.

Консоль

a: [123, 45, 5638, 49, -78, 22, 5, 345, 68, 7]
b: [123, 5638, 22, 5, 68, 7, 0, 0, 0, 0]
с: 45 49 -78 345 0 0 0 0 0 0
vedro-compota's picture

засчитано

_____________
матфак вгу и остальная классика =)