Задача 11 Урок 15
Primary tabs
Напишите функцию, которая определяет являются ли значения переданного
массива целых чисел уникальными относительно друг друга, если среди есть
неуникальные элементы, то удалите их, сдвинув значения влево, заполняя
оставшиеся справа ячейки нулями.
Протестируйте работу функции на массиве из 7 случайных элементов из
диапазона от 1 до 15-ти.
Например для:|1|-3|5|-3|9|5|8|получим:
|1|9|8|0|0|0|0|
type
myArr = array[1..7] of integer;
var
a, b: myArr;
i: integer;
function f1(arr: array of integer): myArr;
var
j, y, e: integer;
begin
for j := low(arr) to high(arr) do
// наполняем и выводим в консоль
begin
for y := (j) to high(arr) do
// наполняем и выводим в консоль, j := i для скорости
begin
if (arr[y] = arr[j]) and (y <> j) then
begin
for e := y to (high(arr) - 1) do // убираем элемент
begin
arr[e] := arr[e + 1]; //затираем данные
end;
arr[high(arr)] := 0;
end;
end;
Result := arr;
end;
end;
begin
randomize();
for i := low(a) to high(a) do // наполняем и выводим в консоль
begin
a[i] := random(15) + 1;
Write(a[i], ' ');
end;
b := f1(a);
writeln();
for i := low(b) to high(b) do // наполняем и выводим в консоль
Write(b[i], ' ');
readln();
end.
КОНСОЛЬ
13 5 5 11 12 15 5 13 5 11 12 15 0 0
- Log in to post comments
- 1331 reads
vedro-compota
Sun, 11/21/2021 - 13:14
Permalink
засчитано
засчитано
_____________
матфак вгу и остальная классика =)