Решение 1 Задача 10 Урок 15
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 a: myArr;
i: integer;
function f1(arr: array of integer) :String;
var s: String;
j: integer;
begin
s := 'Unikalniy';
for i:=low(arr) to high(arr) do // наполняем и выводим в консоль
for j:= i to high(arr) do // наполняем и выводим в консоль, j := i для скорости
if (arr[i] = arr[j]) and (i <> j) then
s := 'Ne unikalniy';
result := s;
end;
begin
randomize();
for i:=low(a) to high(a) do // наполняем и выводим в консоль
begin
a[i] := random(11) - 5;
write(a[i], ' ');
end;
writeln();
writeln(f1(a));
readln();
end.
КОНСОЛЬ
-3 2 -4 2 3 -2 -5 Ne unikalniy
- Log in to post comments
- 2038 reads
vedro-compota
Sun, 11/14/2021 - 13:35
Permalink
function f1(arr: array of
-- лучше возвращать логический тип
_____________
матфак вгу и остальная классика =)
Vitaliy123
Sun, 11/14/2021 - 18:22
Permalink
Функция возвращает логический тип и добавлен break;
type myArr = array[1..7] of integer; var a: myArr; i: integer; function f1(arr: array of integer) :boolean; var s: boolean; j, y: integer; begin s := true; for j := low(arr) to high(arr) do // перебираем числа в массиве begin for y := (j + 1) to high(arr) do // сравниваем с другими числами в массиве после j-го. begin if (arr[y] = arr[j]) and (y <> j) then begin s := false; break; //выходим из 2 цикла end; if not s then break; //выходим из 1 цикла end; end; result := s; end; begin randomize(); for i := low(a) to high(a) do // наполняем и выводим в консоль begin a[i] := random(11) - 5; write(a[i], ' '); end; writeln(); writeln('Unikalnost'' ', f1(a)); //вызов процедуры и вывод результата readln(); end.КОНСОЛЬ
vedro-compota
Sun, 11/21/2021 - 13:04
Permalink
засчитано
засчитано
_____________
матфак вгу и остальная классика =)