var i, neg_k, pos_k, pos_s, neg_p: integer; a: array[1..n] of integer;
begin for i := 1 to n do begin a[i] := random(10 + 50) - 10; write(a[i], ' '); end; writeln();
neg_p := 1; for i := 1 to n do if a[i] > 0 then begin pos_k := pos_k + 1; pos_s := pos_s + a[i]; end else if a[i] < 0 then begin neg_k := neg_k + 1; neg_p := neg_p * a[i]; end; writeln('Positive: ', pos_k, ' ', pos_s); writeln('Negative: ', neg_k, ' ', neg_p); end.
Алена
24.08.2021
Решение в PascalABC.Net:
const n=20; var a:array[1..n] of real; i:integer; amin:real; begin Randomize; Writeln('Элементы массива'); amin:=100; for i := 1 to n do begin a[i]:=50*Random-25; Write(a[i]:8:3); if (amin>a[i]) and (a[i]>0) then amin:=a[i] end; Writeln; Writeln('Минимальный среди положительных элемент: ',amin:0:3); end.
Решение достаточно простое. В самом деле, "Повтори 10" говорит нам о том, что будет нарисовано нечто из 10 одинаковых элементов. Что именно выполняется 10 раз? Поворот направо на 20 градусов, затем рисование прямой линии длиной 36 единиц и снова поворот направо, но уже на 40 градусов. Т.е. угол между прямыми составит 40+20=60 градусов. За 6 циклов будет нарисован правильный шестиугольник (6х60=360 градусов), а оставшиеся 4 шага пройдут по уже нарисованным линиям, т.е. 4 шага лишние. ответ: 3) правильный шестиугольник
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Подсчитать число и сумму положительных, число и произведение отрицательных элементов заданного массива a размерностью 100
n = 100;
var
i, neg_k, pos_k, pos_s, neg_p: integer;
a: array[1..n] of integer;
begin
for i := 1 to n do
begin
a[i] := random(10 + 50) - 10;
write(a[i], ' ');
end;
writeln();
neg_p := 1;
for i := 1 to n do
if a[i] > 0 then begin
pos_k := pos_k + 1;
pos_s := pos_s + a[i];
end
else if a[i] < 0 then begin
neg_k := neg_k + 1;
neg_p := neg_p * a[i];
end;
writeln('Positive: ', pos_k, ' ', pos_s);
writeln('Negative: ', neg_k, ' ', neg_p);
end.