Массив а(20) заполнить случайными целыми числами в диапазоне от -30 до 30. найти количество n попарных произведений а(i)*а(i+1)< 0. вывести а, все попарные произведения а(i)*а(i+1), n.

Infasotka41 Infasotka41    2   11.07.2019 20:50    0

Ответы
Soniasizova Soniasizova  03.10.2020 01:26
//Pascal ABC.NET Версия 2.2 Сборка 790
var ar:array[1..20] of integer;
N,i:integer;
begin;
randomize;
writeln('Array:');
for i:=1 to 20 do
 begin;
  ar[i]:=random(-30,30); //или Random(61)-30 в иных реализациях
  write(ar[i]:4);
end;
writeln;
writeln('Combinations:');
for i:=1 to 19 do
 begin;
  write(ar[i]*ar[i+1]:6);
  if ar[i]*ar[i+1]<0 then inc(N);
 end;
writeln;
write('Result N:',N);
end.

Пример вывода:
Array: -15  -2   6  25 -10  -1 -14   5  -8  11  26 -24  17  23 -17  -1 -13  19 -21 -26
Combinations:    30   -12   150  -250    10    14   -70   -40   -88   286  -624  -408   391  -391    17    13  -247  -399   546
Result N: 10
ПОКАЗАТЬ ОТВЕТЫ
Димасик1111111111 Димасик1111111111  03.10.2020 01:26
// PascalABC.NET 3.0, сборка 1088
const
  m=20;
var
  a:array[1..m] of integer;
  i,n,p:integer;
begin
  Randomize;
  Writeln('Элементы массива');
  for i := 1 to m do
    begin a[i]:=Random(61)-30; Write(a[i],' ') end;
  Writeln(#13#10,'Попарные произведения');
  n:=0;
  for i:=1 to m-1 do begin
    p:=a[i]*a[i+1];
    Write(p,' ');
    if p<0 then Inc(n)
    end;
  Writeln(#13#10,'Количество произведений равно ',n) 
end.

Тестовое решение:
Элементы массива
8 0 25 -17 14 -13 -5 -3 1 29 0 2 1 27 -6 -20 -19 -28 -7 -16
Попарные произведения
0 0 -425 -238 -182 65 15 -3 29 0 0 2 27 -162 120 380 532 196 112
Количество произведений равно 5
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика