Задача 12 Урок 15
Primary tabs
Напишите программу, которая будет заполнять массив из 10 элементов случайными числами из диапазона от 0 до 20, при этом в полученном массиве не должно быть одинаковых значений.
type inArr = array[1..10] of Integer;
var a: array [1..10] of integer;
i, min, max: integer;
res: boolean;
function SS(x: inArr): boolean;
var flag1, flag2: boolean;
k: integer;
begin
flag1 := false;
flag2 := false;
for k := 1 to 10 do
begin
for i := low(x) to high(x) do
begin
if((x[k] = x[i]) and (i<>k)) then
flag1 := true
else
flag2 := false;
end;
end;
if(flag1) then
result := true
else
result := false;
end;
begin
min := 1;
max := 20;
randomize();
repeat // повторять до тех пор пока массив не станет уникальным
for i := 1 to 10 do
a[i] := random(max - min + 1) + min;
res := SS(a);
until(res = false);
for i := low(a) to high(a) do
begin
write(a[i], ' ');
end;
readln();
end.
- Log in to post comments
- 1924 reads
vedro-compota
Sun, 09/05/2021 - 13:31
Permalink
алгоритм такой:
алгоритм такой:
1) Получаем случайное число
2) Проверяем встречается это число среди уже добавленных элементов массива, если нет - добавляем его, если да - получаем следующее случайное число
_____________
матфак вгу и остальная классика =)
jl8qy9kd_pro
Mon, 09/06/2021 - 19:32
Permalink
RE
type xArr = array[1..10] of Integer; var a: array [1..10] of integer; i,r,min, max: integer; function massGenerator(r: integer ): xArr; var flag: boolean; xArr: array [1..10] of integer; k: integer; min, max: integer; begin min := 1; max := 20; xArr[1] := r; for k := 2 to 10 do begin flag := false; repeat // генерация + проверка на уникальность xArr[k] := random(max - min + 1) + min; for i := low(xArr) to (k-1) do begin if(xArr[k] = xArr[i]) then begin flag := false; //элемент найден, bad break; end else flag := true; end; until(flag) ; end; result := xArr; end; begin min := 1; max := 20; randomize(); r := random(max - min + 1) + min; a := massGenerator(r); for i := low(a) to high(a) do begin write(a[i], ' '); end; readln(); end.vedro-compota
Sat, 09/11/2021 - 11:59
Permalink
решение засчитано
решение засчитано
_____________
матфак вгу и остальная классика =)