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

0 голосов

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


спросил от Начинающий (234 баллов) в категории Информатика
2 Ответы
0 голосов
ответил от Архангел (142k баллов)
 
Лучший ответ

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

0 голосов
ответил от Супер Кандидат Наук (38.6k баллов)

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

оставил комментарий от Начинающий (234 баллов)

Бог)

оставил комментарий от Архангел (142k баллов)

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

оставил комментарий от Архангел (142k баллов)

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

оставил комментарий от Архангел (142k баллов)

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

оставил комментарий от Архангел (142k баллов)

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

оставил комментарий от Супер Кандидат Наук (38.6k баллов)

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

оставил комментарий от Супер Кандидат Наук (38.6k баллов)

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

оставил комментарий от Архангел (142k баллов)

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

...