Задание 12 Урок 15
Primary tabs
Задание 12 Урок 15
Напишите программу, которая будет заполнять массив из 10 элементов случайными числами из диапазона от 0 до 20, при этом в полученном массиве не должно быть одинаковых значений.
type arr = array[0..9] of integer; var i,min,max : integer; first_array : arr; label m1; function check(f_array : arr;x : integer): boolean; var z,first_number,second_number : integer; begin first_number := f_array[x];{текущее значение} for z := low(f_array) to x do begin if z = x then{исключене сравнения значения самого с собой} continue; second_number := f_array[z]; if first_number = second_number then {сравнение текущего значения со значением[z] массива} begin result := false; exit; end else result := true; end; end; begin min := 0; max := 20; i := 0; randomize; while (i <= high(first_array)) do{позволяет проверить каждое инициализирован- ое значение, не заполняя массив} begin m1 : first_array[i] := min + random(max - min + 1); if i = 0 then{условие инициализации значения[0] без проверки - не с чем сравнивать/ Значение функции без этой проверки будет false - выполнение программы уйдет в бесконечный цикл} begin i += 1; goto m1; end; if (check(first_array,i) = true) then{проверка для увелечения счетчика, соответственно и для инициализации следующего значения} i += 1 else goto m1; end; for i := low(first_array) to high(first_array) do{вывод массива в консоль} write('|', first_array[i], '|'); readln(); end.
- Log in to post comments
- 824 reads
vedro-compota
Sun, 12/20/2020 - 16:54
Permalink
просьба оформить решение в
избыточно, т.к. это то же самое, что:
_____________
матфак вгу и остальная классика =)