Дан вектор A[1:35]. Получить сумму и количество элементов находящихся в диапазонах [-4:+2] и [5:11]. Получение суммы или количества элементов в заданном диапазоне реализовать одной функцией и одной процедурой — Pascal(Паскаль)

uses crt;
const n=35;
type mas=array[1..n] of integer;
procedure Diap(x:mas;var s:integer;var k:byte);
var i:byte;
begin
s:=0;
k:=0;
for i:=1 to n do
if((x[i]>=-4)and(x[i]<=2))or((x[i]>=5)and(x[i]<=11))then
 begin
  s:=s+x[i];
  k:=k+1;
 end;
writeln('Элементы из интервалов [-4;2], [5;11]:');
writeln('Сумма=',s,'  количество=',k);
end;
var a:mas;
    sum:integer;
    i,kol:byte;
begin
clrscr;
randomize;
writeln('Массмв А:');
for i:=1 to n do
 begin
  a[i]:=random(30)-10;
  write(a[i]:4);
 end;
writeln;
Diap(a,sum,kol);
readln
end.

Следующий вариант

uses crt;
const n=35;
type mas=array[1..n] of integer;
function Diap(x:mas;var s:integer):byte;
var i,k:byte;
begin
s:=0;
k:=0;
for i:=1 to n do
if((x[i]>=-4)and(x[i]<=2))or((x[i]>=5)and(x[i]<=11))then
 begin
  s:=s+x[i];
  k:=k+1;
 end;
Diap:=k;
end;
var a:mas;
    sum:integer;
    i,kol:byte;
begin
clrscr;
randomize;
writeln('Массмв А:');
for i:=1 to n do
 begin
  a[i]:=random(30)-10;
  write(a[i]:4);
 end;
writeln;
kol:=Diap(a,sum);
writeln('Элементы из интервалов [-4;2], [5;11]:');
writeln('Сумма=',sum,'  количество=',kol);
readln
end.

Leave a Comment

+ 58 = 62