Задача 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
- 1146 reads
vedro-compota
Sun, 09/05/2021 - 13:31
Permalink
алгоритм такой:
алгоритм такой:
1) Получаем случайное число
2) Проверяем встречается это число среди уже добавленных элементов массива, если нет - добавляем его, если да - получаем следующее случайное число
_____________
матфак вгу и остальная классика =)
jl8qy9kd_pro
Mon, 09/06/2021 - 19:32
Permalink
RE
vedro-compota
Sat, 09/11/2021 - 11:59
Permalink
решение засчитано
решение засчитано
_____________
матфак вгу и остальная классика =)