• Реализовать процедуру заполнения массива случайными числами без повторения элементов (Pascal)

Ответы 1

  • // 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+1<n then Writeln('Задание выполнить невозможно')  else begin    var x:=new integer[n];    FillRandom(x,a,b);    x.Println    endend.Примерыn= 15Укажите интервал значений элементов: 10 30Сделано 695 генераций массива14 26 30 18 27 20 28 10 25 12 22 29 13 15 17n= 15Укажите интервал значений элементов: -50 50Сделано 6 генераций массива20 11 31 8 12 -47 16 -27 -21 -44 32 10 47 -36 46
    • Автор:

      figgy7exi
    • 5 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years