Массив А(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
Не нашли ответ?
Похожие вопросы