Задача 17 урок 15
Primary tabs
Даны два массива по 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 task_17_lesson_15; type Arr = array[1..20] of integer; function CreatArray(min, max: integer) : Arr; // заполнение массива var i: integer; a: Arr; begin randomize(); for i := low(a) to high(a) do a[i] := min + random(max - min + 1); result := a; end; procedure compare(a, b: integer); // сравнение 2-х чисел begin if a > b then writeln(a, ' more ', b) else if (a = b) then writeln(a, ' equal ', b) else writeln(a, ' less ', b); end; var a, b: Arr; // a - первый массив(3-ий эл-нт), b - второй массив(2-ой элемент) i, k: integer; a3, b2: integer; // числа которые сравниваем begin a := CreatArray(-10, 10); b := CreatArray(-20, 10); for i := 1 to 20 do write(a[i], ' '); writeln(); for i := 1 to 20 do write(b[i], ' '); writeln(); i := 1; k := 1; // разность номеров while i <= 20 do begin if ((i mod 3) = 0) then // проверяем большее условие begin a3 := a[i]; b2 := b[i - k]; compare(a3, b2); k := k + 1; end; i := i + 1; end; readln end.
Консоль:
1 -10 -9 5 -8 10 10 -10 -3 -6 9 -10 -1 -6 4 1 9 -5 -6 3 0 0 4 -6 6 -5 0 -17 -17 -19 8 -1 -12 5 -20 -3 -6 2 3 -18 -9 less 0 10 more -6 -3 more -5 -10 more -17 4 more -19 -5 less -1
- Log in to post comments
- 343 reads
vedro-compota
Sun, 10/24/2021 - 12:26
Permalink
засчитано
засчитано
_____________
матфак вгу и остальная классика =)