Дано масив V(12). Якщо додатних елементів в ньому менше ніж відємних, то замінити в...

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

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


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

язык любой?

0

Да без разницы

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

//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.

(53.1k баллов)
0 голосов

Программа на паскале - в прилагаемом файле.


Скачать вложение Текст (TXT)
(194k баллов)