НУЖНА ПОМОЩЬ В ПАСКАЛЕ Из одномерного числового массива Х длиной m, содержащего нулевые,...

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

НУЖНА ПОМОЩЬ В ПАСКАЛЕ Из одномерного числового массива Х длиной m, содержащего нулевые, положительные и отрицательные элементы, сформировать новый массив У, заменив в Х все отрицательные элементы их модулями. Найти произведение ненулевых элементов полученного массива У. Вывести на чистый экран оба массива и полученное произведение.


Информатика (152 баллов) | 56 просмотров
Дан 1 ответ
0 голосов
Правильный ответ
// PascalABC.NET 3.3
// Cборка 1590 от 03.12.2017


begin
  var x:=ArrRandom(ReadInteger('Введите размер массива->'),-5,5); x.Println;
  var y:=x.Select(t->t<0?abs(t):t); y.Println;<br>  Println('Произведение:',x.Where(t->t<>0).Aggregate((a,b)->a*b));
end.

Пример:
Введите размер массива-> 10
1 2 -1 2 4 4 1 1 -3 2
1 2 1 2 4 4 1 1 3 2
Произведение: 384 

(5.8k баллов)
0

мне желательно турбо Паскаль нужен

0

Очень поздно написали, нужно в условии уточнять

0

Турбо Паскаль он же вроде как обычный только с граф. ядром, сейчас напишу код

0

var
x,y:array[1..100] of integer;
i,a,n:integer;
begin
write('Введите размер массива: ');readln(n);
for i:=1 to n do begin
x[i]:=Random(10)-5;
write(x[i],' ');
end;
writeln;
for i:=1 to n do begin
y[i]:=x[i];
if x[i]<0 then y[i]:=abs(x[i]);<br> write(y[i],' ');
end;
a:=1;
writeln;
for i:=1 to n do
if y[i]<>0 then a:=a*y[i];
writeln('Произведение: ',a);
end.

0

Пример:

0

Введите размер массива: 5
0 4 -1 0 -1
0 4 1 0 1
Произведение: 4

0

Слодно после 3.3 по обычному писать, хочеться что-то добавить из новенького, а нельзя()