Задача 11 Урок 15
Primary tabs
Задача 11 Урок 15Напишите функцию, которая определяет являются ли значения переданного массива целых чисел уникальными относительно друг друга, если среди есть неуникальные элементы, то удалите их, сдвинув значения влево, заполняя оставшиеся справа ячейки нулями.
Протестируйте работу функции на массиве из 7 случайных элементов из диапазона от 1 до 15-ти.
Например для:
|1|-3|5|-3|9|5|8|
получим:
|1|9|8|0|0|0|0|
type
arr = array [1..7] of integer;
var
a: arr;
min, max, i, count: integer;
function unikum(var mas: arr; x: integer):arr;
var y: integer;
begin
for x:= low(mas) to high(mas) - 1 do
for y:= x + 1 to high(mas) do
if mas[x] = mas[y] then
begin
mas[x]:= 0;
mas[y]:= 0;
end;
result:= mas;
end;
begin
randomize();
min:= 1;
max:= 15;
writeln('Original');
for i:= low(a) to high(a) do
begin
a[i]:= min + random(max - min + 1);
write(a[i], ' ');
end;
writeln();
unikum(a, i);
writeln('posle obnulenuya');
for i:= low(a) to high(a) do
write(a[i], ' ');
writeln();
for count:= 1 to high(a) do
for i:= low(a) to high(a) do
begin
if a[i] = 0 then
begin
a[i]:= a[i + 1];
a[i + 1]:= 0;
end;
end;
writeln('Posle sdviga');
for i:= low(a) to high(a) do
write(a[i], ' ');
readln();
end.
- Log in to post comments
- 1672 reads
vedro-compota
Sun, 09/05/2021 - 12:53
Permalink
решение засчитано
решение засчитано
_____________
матфак вгу и остальная классика =)