Дано масив v(12). якщо додатних елементів в ньому менше ніж відємних, то замінити в ньому відємні елементи нулями. в протилежному випадку кожен відємний елемент замінити добутком тих елементів масиву v, які більше половини максимального елемента. початковий і сформований масиви видати до друку. масив v задати самостійно. решить, на завтро надо

биг8 биг8    1   22.07.2019 02:10    0

Ответы
хорошист378 хорошист378  19.08.2020 15:24
Программа на паскале - в прилагаемом файле.
ПОКАЗАТЬ ОТВЕТЫ
RAYDEN02 RAYDEN02  19.08.2020 15:24
//PascalABC.NET 3.1 сборка 1200
function Change(condition: boolean; value, default_value: integer): integer;
begin
  if condition then
    Change := value
  else  Change := default_value;
end;

const
  n = 12;

begin
  var a := ArrRandom(n, -10, 10);
  a.Println;
 
  if a.Where(x -> x > 0).Count > a.Where(x -> x < 0).Count then begin
    var half_max := a.Max / 2;
    var mult := 1;
    mult := a.Where(x -> x > half_max).Aggregate((mult, x)-> mult * x);
    a.Transform(x -> Change((x < 0), mult, x));
  end
  else
    a.Transform(x -> Change((x < 0), 0, x));
    
  a.Println;
end.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика