задача 12 урок 15
Primary tabs
Напишите программу, которая будет заполнять массив из 10 элементов случайными числами из диапазона от 0 до 20, при этом в полученном массиве не должно быть одинаковых значений.
РЕШЕНИЕ:
program task_12_lesson_15; type arr = array[1..10] of integer; function compare(ar : arr; n, count: integer) : boolean; // функция приниает каждый след. элемент и сравнивает его с пред. var i: integer; z: boolean; begin z := true; // по умолчанию предполагать уникальность эл-та for i := low(ar) to count do begin if (ar[i] = n) then begin z := false; //как только z = false надо прервать цикл, и не заходить на сл. виток break; end else z := true; end; result := z; end; var a: array[1..10] of integer; i, n: integer; begin i := 1; randomize(); while i <= 10 do // использую WHILE т.к. не известно сколько попыток понадобится begin n := random(20); if compare(a, n, i) then //принимает массив, новый элемент, кол-во уже внесенных эл-тов begin a[i] := n; i += 1; end; end; for i:= low(a) to high(a) do write(a[i], ' '); readln end.
КОНСОЛЬ
19 6 16 17 14 18 4 1 7 9
- Log in to post comments
- 745 reads
vedro-compota
Sun, 10/24/2021 - 12:09
Permalink
засчитано
засчитано
_____________
матфак вгу и остальная классика =)