Заменить все минимальные элементы на противоположные pascal abc

alinashelepova1 alinashelepova1    3   18.09.2019 04:10    2

Ответы
bersenevaksenia1 bersenevaksenia1  07.10.2020 23:14
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
ПОКАЗАТЬ ОТВЕТЫ
Vanek255 Vanek255  07.10.2020 23:14
// 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
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика