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

Массив А(20) заполнить случайными целыми числами в диапазоне от -30 до 30. Найти количество N попарных произведений А(I)*А(I+1)<0. Вывести А, все попарные произведения А(I)*А(I+1), N.
Гость
Ответ(ы) на вопрос:
Гость
//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
Гость
// 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
Не нашли ответ?
Ответить на вопрос
Похожие вопросы