Урок 15 Задача 11
Primary tabs
Напишите функцию, которая определяет являются ли значения переданного массива целых чисел уникальными относительно друг друга.
Протестируйте работу функции на массиве из 7 случайных элементов из диапазона от 1 до 15-ти.Например для массива:
|1|5|4|5|6|7|8|-- функция должна "сообщить", что он неуникальный
а для:
|1|15|4|5|6|7|8|-- что уникальный.
type
myArr = array[1..7] of integer;
var
m: myArr;
i, j: integer;
function otvet (n: myArr): string; // ф-ция получает на вход массив и выдает сообщение
var
p, r: integer;
q: boolean;
s: string;
begin
for p:=low(n) to high(n)-1 do // внешний цикл
for r:=p+1 to high(n) do // вложенный цикл
if (n[p] = n[r]) then // если встретились равные эл-ты
begin
q:= true; // переключаем переключатель
break; // прерываем цикл, т.к. дальше проверять не обязательно
end;
if q = true then // если переключатель был переключен (встретились равные эл-ты)
s:= 'Neunikalnyj' // присваиваем строковой переменной соответствующее значение
else // если переключатель остался не переключенным (не встретились равные эл-ты)
s:= 'Unikalnyj'; // присваиваем соответствующее значение
result:=s; // результат функции - строковая переменная с соответствующим значением (сообщением)
end;
begin // начало тела осн-й программы
randomize();
for i:=low(m) to high(m) do
begin
m[i] := random(15) + 1;
write(m[i], ' ');
end;
writeln;
write (otvet (m)); // передаем в функцию массив и сразу же выводим на экран сообщение (результат) от функции
readln ();
end.Вывод в консоли:
8 8 3 3 2 5 4 Neunikalnyj
14 6 2 9 13 8 5 Unikalnyj
- Log in to post comments
- 961 reads
vedro-compota
Sun, 11/27/2022 - 13:18
Permalink
засчитано
засчитано
_____________
матфак вгу и остальная классика =)