Урок 15 Задача 20

Урок 15 Задача 20

У вас есть два массива целых чисел по 10 элементов в каждом.
Выведите на экран все числа из первого массива, которые не содержаться во втором.

Решение:

program u15z20;
type newArr = array [1..10] of integer;
var a,b:newArr;
  i,j:integer;
  t:boolean;

function randomArr(arr:newArr): newArr;
begin
  for i:=low(arr) to high(arr) do
    arr[i]:=random(10);
  result:=arr;
end;

procedure writeArr(arr:newArr);
begin
  for i:=low(arr) to high(arr) do
    write(arr[i],'|');
  writeln();
end;

begin
  randomize;
  a:=randomArr(a);
  b:=randomArr(b);
  writeln('первый массив:');
  writeArr(a);
  writeln('второй массив:');
  writeArr(b);
  writeln();
  for i:=low(a) to high(a) do
  begin
    t:=true;
    for j:=low(b) to high(b) do
    begin
      if a[i]=b[j] then
        t:=false;
    end;
    if t then
      write(a[i],' ');
  end;
  readln();
end.

Консоль:

первый массив:
3|6|1|6|1|1|4|8|0|3|
второй массив:
5|7|4|5|4|7|2|1|8|8|

3 6 6 0 3
vedro-compota's picture

for j:=low(b) to high(b) do
    begin
      if a[i]=b[j] then
        t:=false;
    end;

-- если нашел, смысла перебирать дальше этот цикл нет

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

Решение:

program u15z20;
type newArr = array [1..10] of integer;
var a,b:newArr;
  i,j:integer;
  t:boolean;

function randomArr(arr:newArr): newArr;
begin
  for i:=low(arr) to high(arr) do
    arr[i]:=random(10);
  result:=arr;
end;

procedure writeArr(arr:newArr);
begin
  for i:=low(arr) to high(arr) do
    write(arr[i],'|');
  writeln();
end;

procedure element(arr1,arr2:newArr);
begin
  for i:=low(arr1) to high(arr1) do
  begin
    t:=true;
    for j:=low(arr2) to high(arr2) do
    begin
      if arr1[i]=arr2[j] then
      begin
        t:=false;
        break;
      end;
    end;
    if t then
      write(arr1[i],' ');
  end;
end;


begin
  randomize;
  a:=randomArr(a);
  b:=randomArr(b);
  writeln('First array:');
  writeArr(a);
  writeln('Second array:');
  writeArr(b);
  writeln();
  element(a,b);
  readln();
end.  

Консоль:

First array:
4|7|9|2|1|8|1|2|3|8|
Second array:
2|6|4|8|6|2|5|2|7|0|

9 1 1 3 
vedro-compota's picture

засчитано

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