Задача 18 Урок 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
  massiv=array[1..20] of integer;

  function full():massiv;
  var i,min,max:integer;
      mas: massiv;
    begin
      randomize();
      max:=-30;
      max:=random(40);
      for i:=low(mas) to high(mas) do
        mas[i]:=min + random(max-min+1);
      result:=mas;
    end;
procedure wr(mas:array of integer);
var i:integer;
  begin
    for i:=low(mas) to high(mas) do
      write (mas[i], ' ');
    writeln();
  end;

var
  mas1,mas2:massiv;
  i,j:integer;

begin
  i:=1;
  j:=1;
  mas1:= full();
  mas2:=full();
  wr(mas1);
  wr(mas2);
  while(i<=20) do
    while(j<=20) do
      begin
        i:=i+3;
        j:=j+2;
        if((i>20)or(j>20)) then
          break;
        if(mas1[i]>mas2[j]) then
          writeln(mas1[i], ' bolshe ',mas2[j]);
        if(mas1[i]<mas2[j]) then
          writeln(mas1[i], ' menshe ',mas2[j]);
        if(mas1[i]=mas2[j]) then
          writeln(mas1[i], ' ravni ',mas2[j]);
      end;
end.   
Консоль:
8 7 8 1 8 5 5 3 8 3 2 7 4 6 1 2 3 6 6 1 
8 7 8 1 8 5 5 3 8 3 2 7 4 6 1 2 3 6 6 1 
1 menshe 8
5 menshe 8
3 menshe 5
4 menshe 8
2 ravni 2
6 bolshe 4
vedro-compota's picture

посмотреть вариант http://fkn.ktu10.com/?q=node/12150

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