Сгенерировать массив из N различных случайных чисел. Используя функцию Shuffle перемешать...

0 голосов
84 просмотров

Сгенерировать массив из N различных случайных чисел. Используя функцию Shuffle перемешать элементы массива. Удалить максимальный элемент массива (все,если их несколько) Паскаль


Информатика (217 баллов) | 84 просмотров
0

Паскаль какой?

0

pascal.net

0

PascalABCNET*

Дан 1 ответ
0 голосов
Правильный ответ

// PascalABC.NET 3.3

begin
  var n:=ReadInteger('n = ');
  var a:=ArrRandom(n,-10,10); a.Println;
  a:=a.Shuffle; a.Println;
  a:=a.Where(x->x<>a.Max).ToArray;
  a.Println;
end.

Пример:
n =  20
8 -9 1 -5 -5 0 9 -4 -7 -4 -3 9 7 -2 4 6 -2 7 -9 -2
-4 -7 -2 8 9 -3 9 7 4 -9 -2 -2 -4 6 0 1 -5 -5 7 -9
-4 -7 -2 8 -3 7 4 -9 -2 -2 -4 6 0 1 -5 -5 7 -9

(194k баллов)
0

И вот надо это исправлять

0

можете помочь?

0

попробую. мб. времени нету

0

буду очень благодарен

0

const
x_max = 100;
x_min = -100;

begin
Randomize;

var a := ArrFill(ReadInteger('n = '), x_max + 1);
for var i := a.Low to a.High do
begin
var num := a[i];
repeat
num := Random(x_min, x_max)
until not a.Contains(num);
a[i] := num;
end;
a.Println;

a := a.Shuffle;
a.Println;

a := a.Where(x -> x <> a.Max).ToArray;
a.Println;
end.

0

выдаёт ошибку:Program1.pas(1) : Встречено 'x', а ожидался раздел описаний или begin

0

в какой строке?

0

какая версия PascalABC.NET ?

0

може где лишний пробел затесался?

0

я извиняюсь))) я просто одну строку не скопировал)))