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

Урок 15

Даны два массива по 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-ом массиве больше нет.

type ArrOfInt = array[1..20] of integer;
var k: integer;
    a, b: ArrOfInt;

procedure printArray(a1: ArrOfInt); //п-а печати массива
  var i1: integer;

  begin
    writeln('Длина массива: ', length(a1));
    for i1 := low(a1) to high(a1) do
      write(a1[i1], ' ');
      writeln();
  end;

procedure ml(a1, b1: ArrOfInt); //п-а проверки больше меньше
  var i1, j1: integer;

  begin
    i1 := 3;
    j1 := 2;
    while (i1 <= length(a1)) and (j1 <= length(b1)) do
    begin
      if a1[i1] < b1[j1] then
        writeln(a1[i1], ' меньше ', b1[j1])
      else if a1[i1] > b1[j1] then
        writeln(a1[i1], ' больше ', b1[j1])
      else
        writeln(a1[i1], ' равно ', b1[j1]);
      inc(i1, 3);
      inc(j1, 2);
    end;
  end;

function f1(k1: integer; a1: ArrOfInt): ArrOfInt; // ф-я создаем массив
  var i1: integer;

  begin
    randomize();
    for i1 := low(a1) to high(a1) do //создаем массив и наполняем его
      a1[i1] := random(k1 + 1);
    result := a1;
  end;

  begin
    randomize();
    k := random(21) - 10;
    writeln('Новое значение k = ',k);
    a := f1(k, a);
    b := f1(k, b);
    printArray(a);
    printArray(b);
    writeln();
    ml(a, b);
    readln();
  end.

КОНСОЛЬ

Новое значение k = -6
Длина массива: 20
-1 -2 -1 -3 -3 -1 -4 -3 -2 -2 -3 -4 -2 -4 -4 -4 -3 -4 -1 -1
Длина массива: 20
-1 -2 -1 -3 -3 -1 -4 -3 -2 -2 -3 -4 -2 -4 -4 -4 -3 -4 -1 -1

-1 больше -2
-1 больше -3
-2 меньше -1
-4 меньше -3
-4 меньше -2
-4 равно -4
vedro-compota's picture

засчитано

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