Задание 17 Урок 15. Одномерные массивы
Primary tabs
{15 - 17
Даны два массива по 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 myArr = array[1..20] of integer; procedure print(arr: myArr; msg:string); var i:integer; begin writeln(msg); for i:=low(arr) to high(arr) do write(arr[i], ' '); writeln(); end; procedure rnd(var arr: myArr; n: integer); var i:integer; begin randomize; for i:= low(arr) to high(arr) do arr[i] := (random(n)-10); end; procedure arrCollate(arr1, arr2:myArr); var i,j: integer; begin i:=3; j:=2; repeat begin if (arr1[i] > arr2[j]) then writeln(arr1[i], ' > ', arr2[j]) else if (arr1[i] = arr2[j]) then writeln(arr1[i], ' = ', arr2[j]) else writeln(arr1[i], ' < ', arr2[j]); i:=i+3; j:=j+2; end; until ((i >= high(arr1)) or (j >= high(arr2))) ; end; var arr1, arr2: myArr; begin rnd(arr1,30); rnd(arr2,25); print(arr1, 'arr1:'); print(arr2, 'arr2:'); writeln(); arrCollate(arr1,arr2); readln(); end.
//arr1: //19 -7 11 15 18 3 4 6 -9 -8 3 10 -5 -10 -7 14 11 10 14 -8 //arr2: //14 -8 8 10 14 1 2 4 -9 -8 1 6 -6 -10 -8 10 8 6 10 -8 // //11 > -8 //3 < 10 //-9 < 1 //10 > 4 //-7 > -8 //10 > 6
- Log in to post comments
- 826 reads