задача 10 урок 15
Primary tabs
Напишите функцию, которая определяет являются ли значения переданного массива целых чисел уникальными относительно друг друга.
Протестируйте работу функции на массиве из 7 случайных элементов из диапазона от 1 до 15-ти.
Например для массива:
|1|5|4|5|6|7|8|
-- функция должна "сообщить", что он неуникальныйа для:
|1|15|4|5|6|7|8|
-- что уникальный.
РЕШЕНИЕ:
program task_10_lesson_15; type arr = array[1..7] of integer; procedure writeArray(ar : arr); // процедура которая будет печатать наш массив var i: integer; begin for i := low(ar) to high(ar) do write(ar[i], ' '); writeln(); end; function creatRandomArray(min, max: integer) : arr; // функция создания массива(рандом) var i: integer; ar : arr; begin randomize(); for i := low(ar) to high(ar) do ar[i] := min + random(max - 1); result := ar; end; function compElement(ar: arr) : integer; // функция сравнения эл-ов var i, c, j, r : integer; begin r := 0; for i := 1 to (high(ar) - 1) do // последнее сравнение 6 и 7 элемента begin c := i + 1; for j := c to high(ar) do if ar[i] = ar[j] then r += 1; end; result := r; end; var a: array[1..7] of integer; count : integer; begin a := creatRandomArray(1, 15); count := compElement(a); if count > 0 then begin writeArray(a); writeln('Elents of our array aren`t unique') end else begin writeArray(a); writeln('All elements are unique'); end; readln end.
КОНСОЛЬ:
12 13 3 8 14 7 1 All elements are unique
- Log in to post comments
- 1120 reads
vedro-compota
Sun, 10/24/2021 - 12:05
Permalink
compElement(ar: arr) :
-- логичнее возвращать boolean
_____________
матфак вгу и остальная классика =)