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

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

Даны два массива по 20 элементов каждый (заполните случайными числами, так чтобы среди элементов массива при очередном запуске программы могли встретиться и отрицательные и положительные числа).

Сравните каждый 3-ий элемент 1-ого массива с каждый 2-ым элементов 2-ого массива - сравнение проводите пока не закончится та выборка, которая короче.

Например пусть мы имеем два массива (запишу лишь начальные элементы):

1 | 2 | -10 | 5 | 0 | 12 | 2 | 8 ....
0 | 3 | 4 | 9 | 7 | 5 | -8 | 3.....

для них программа должна вывести:

	
-10 меньше 3
12 больше 9

- других сравнений не последует, так как новых из "каждых третьих элементов" в 1-ом массиве больше нет.

Решение:

program u15z19;
type newArr = array [1..20] of integer;
var a,b:newArr;
  i,j:integer;

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

procedure writeArr(arr:newArr);
  var i:integer;
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);
  i:=3;
  j:=2;
  while (i<20)and(j<20) do
  begin
    if a[i]<b[j] then
      writeln(a[i],' < ',b[j]);
    if a[i]=b[j] then
      writeln(a[i],' = ',b[j]);
    if a[i]>b[j] then
      writeln(a[i],' > ',b[j]);
    i:=i+3;
    j:=j+2;
  end;
  readln();
end.

Консоль:

первый массив:
-5|-1|1|-1|0|-2|-3|-5|4|-2|-1|2|-2|-3|-3|4|0|1|2|-1|
второй массив:
-5|-2|-5|4|-2|2|-3|1|-3|1|-3|1|4|3|-2|-5|4|2|2|-5|
1 > -2
-2 < 4
4 > 2
2 > 1
-3 < 1
1 = 1
vedro-compota's picture

засчитано

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