Массив А(20) заполнить случайными целыми числами в диапазоне от -30 до 30. Найти...

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

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


Информатика (234 баллов) | 57 просмотров
Дано ответов: 2
0 голосов
Правильный ответ

// 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)<br>    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

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

//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);<br> 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

(38.6k баллов)
0

Бог)

0

Да, только вот почему выведены все попарные произведения, когда нужны только отрицательные?

0

И почему у Вас Result N:9 , а отрицательных произведений 10 ? ))

0

Нашел... Вы подсчитали положительные произведения.

0

Так что пока только ученик бога))))))

0

Невнимательность когда-нибудь меня погубит. Исправляю.

0

Нужно же вывести все попарные произведения, а не только удовлетворяющие условию.

0

Верно, все произведения. Тут уже я неправ.