Воплотить функцию наполнения массива случайными числами без повторения частей (Pascal)
Реализовать функцию наполнения массива случайными числами без повторения частей (Pascal)
Задать свой вопрос
Лилия Бобахо
Там как-то через if надобно делать
1 ответ
Urinova Amina
// PascalABC.NET 3.3, сборка 1583 от 25.11.2017
// Внимание! Если программка не работает, обновите версию!
procedure FillRandom(var P:array of integer; a,b:integer);
begin
var (k,n):=(0,P.Length);
repeat
P:=ArrRandom(n,a,b);
k+=1;
until P.Distinct.Count=n;
Writeln('Сделано ',k,' генераций массива')
end;
begin
var n:=ReadInteger('n=');
var (a,b):=ReadInteger2('Укажите интервал значений частей:');
if b-a+1lt;n then Writeln('Задание выполнить невероятно')
else begin
var x:=new integer[n];
FillRandom(x,a,b);
x.Println
end
end.
Образцы
n= 15
Укажите интервал значений частей: 10 30
Сделано 695 генераций массива
14 26 30 18 27 20 28 10 25 12 22 29 13 15 17
n= 15
Укажите интервал значений частей: -50 50
Сделано 6 генераций массива
20 11 31 8 12 -47 16 -27 -21 -44 32 10 47 -36 46
// Внимание! Если программка не работает, обновите версию!
procedure FillRandom(var P:array of integer; a,b:integer);
begin
var (k,n):=(0,P.Length);
repeat
P:=ArrRandom(n,a,b);
k+=1;
until P.Distinct.Count=n;
Writeln('Сделано ',k,' генераций массива')
end;
begin
var n:=ReadInteger('n=');
var (a,b):=ReadInteger2('Укажите интервал значений частей:');
if b-a+1lt;n then Writeln('Задание выполнить невероятно')
else begin
var x:=new integer[n];
FillRandom(x,a,b);
x.Println
end
end.
Образцы
n= 15
Укажите интервал значений частей: 10 30
Сделано 695 генераций массива
14 26 30 18 27 20 28 10 25 12 22 29 13 15 17
n= 15
Укажите интервал значений частей: -50 50
Сделано 6 генераций массива
20 11 31 8 12 -47 16 -27 -21 -44 32 10 47 -36 46
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
Игорь 14 лет назад был на 8 лет моложе, чем его
Математика.
Два тела массами m1 и m2 находящие на расстоянии R друг
Физика.
В сосуде 4целых одна пятая литр воды что бы заполнить сосуд
Математика.
Двум малярам Диме И Олегу поручили выкрасить фасад дома они разделили
Разные вопросы.
найти порядковый номер 41Э если в ядре 20 нейтронов
Разные вопросы.
в ряду натуральных чисел 3, 8, 10, 24, … 18 одно
Математика.
Предприятие по производству с/хоз продукции на производство затратило 3527000 руб Валовый
Разные вопросы.
Математика, задано на каникулы. ВАРИАНТ 1004
НОМЕР 1,2,3,4,5,6,7,8.
Математика.
Имеются три конденсатора емкостью С1=1мкФ, С2=2мкФ и С3=3мкФ. Какую наименьшую емкость
Физика.
Из точки м выходят 3 луча MP MN и MK причём
Геометрия.
Облако тегов