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

0 голосов

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


спросил от (15 баллов) в категории Информатика
оставил комментарий от Доцент (53.1k баллов)

язык любой?

оставил комментарий от (15 баллов)

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

2 Ответы
0 голосов
ответил от Доцент (53.1k баллов)
 
Лучший ответ

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

0 голосов
ответил от БОГ (194k баллов)

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


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