заменить все минимальные элементы на противоположные
PASCAL ABC

Ответы

Ответ дал: petyaGavrikov
0
const n=10;
var a:array[1..n] of integer;
min,i:integer;
begin
Randomize;
for i:=1 to n do begin
 a[i]:=random(9)-4;
 write(a[i]:3);
 end;
writeln;
min:=a[1]; 
for i:=2 to n do
 if a[i]<min then min:=a[i];
for i:=1 to n do
 if a[i]=min then a[i]:=-a[i];
for i:=1 to n do write(a[i]:3);
end.

Пример:
-1 -3 2 -4 -4 0 1 0 -4 1
-1 -3 2 4 4 0 1 0 4 1
Ответ дал: Аноним
0
// PascalABC.NET 3.3, сборка 1627 от 27.01.2018
// Внимание! Если программа не работает, обновите версию!

begin
  var a:=ArrRandom(ReadInteger('n='),-10,10); a.Println;
  var min:=a.Min;
  var imin:=a.IndexesOf(t->t=min);
  foreach var i in imin do a[i]:=-a[i];
  a.Println
end.

Пример
n= 20
10 -8 2 0 2 -8 -9 -7 -2 9 5 -9 8 -9 -10 -4 -10 5 -2 7
10 -8 2 0 2 -8 -9 -7 -2 9 5 -9 8 -9 10 -4 10 5 -2 7
Вас заинтересует