Дан линейный(одномерный) массив чисел, заданный случайным образом... Задание на фото

Дан линейный(одномерный) массив чисел, данный случайным образом...

Задание на фото

Задать свой вопрос
1 ответ
sp - сумма положительных элементов
so - сумма отрицательных частей
kp -  количество положительных элементов
ko - количество отрицательных элементов
fo - 1-ый отрицательный элемент
lo - последний отрицательный элемент
max,min - номера макс и мин эл массива
a[max],a[min] - макс и мин эл массива
sum - сумма эл массива
proiz - произведение эл массива
m1,m2 - два макс эл
maxo - макс среди отрицательных
s1 - сумма эл не превышающих maxo
minp - мин посреди положительных
s2 - сумма эл,превосходящих minp
s3 - сумма эл от a до b
cn - количество эл от a до b
-----------------------------------------------------------------------------------------------------
const n = 10;
var a:array [1..n] of integer;
     i,sp,so,kp,ko,max,min,fo,lo,m1,m2,maxo,s1,minp,s2,aa,bb,s3,cn:integer;
     sum,proiz:longint;      
     f:boolean; 
begin
  randomize;
  so:=0;
  sp:=0;
  kp:=0;
  ko:=0;
  f:=false;
  for i:=1 to n do
   begin
    a[i]:=random(21)-10;
    if (not f) and (a[i]gt;1) then f:=true; 
    write (a[i]:3);
    if a[i]gt;0 then
     begin 
       sp:=sp+a[i];
       inc(kp); 
     end else if a[i]lt;0 then 
     begin 
      so:=so+a[i];
      inc(ko); 
     end; 
   end;
  writeln;
  max:=1;
  min:=1;
  for i:=2 to n do
   if a[i]gt;a[max] then max:=i else
    if a[i]lt;a[min] then min:=i;
  for i:=1 to n do
   if a[i]lt;0 then
    begin
     fo:=i;
     break; 
    end;
  for i:=n downto 1 do
   if a[i]lt;0 then
    begin
     lo:=i;
     break;
    end;
  proiz:=1;
  if f then
   sum:=so+sp
  else for i:=1 to n do proiz:=proiz*a[i];
  m1:=-100;
  m2:=-100;
  for i:=1 to n do
   if a[i]gt;m1 then
    begin
     m2:=m1;
     m1:=a[i];
    end else if (a[i]gt;m2) and (a[i]lt;gt;m1) then m2:=a[i];
  maxo:=-100;
  for i:=1 to n do
   if (a[i]lt;0) and (a[i]gt;maxo) then maxo:=a[i];
  s1:=0;
  for i:=1 to n do
   if a[i]lt;maxo then s1:=s1+a[i];
  minp:=100;
  for i:=1 to n do
   if (a[i]gt;0) and (a[i]lt;minp) then minp:=a[i];
  s2:=0;
  for i:=1 to n do
   if a[i]gt;minp then s2:=s2+a[i];
  write ('A = ');
  readln (aa);
  write ('B = ');
  readln (bb);
  s3:=0;
  cn:=0;
  for i:=aa to bb do
   begin
    inc(s3,a[i]);
    inc(cn);
   end;
end.
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт