Даны натуральное число n и натуральные a1,…,an, где n<=3000.Получить сумму положительных и количество отрицательных членов последовательности - Pascal(Паскаль)

uses crt;
const nmax=3000;
var n,i,k:word;
    a,s:longint;
begin
clrscr;
repeat
write('Размер последовательности до ',nmax,' n=');
readln(n);
until (n>0)and(n<=nmax);
writeln('Введите ',n,' элементов последовательности, целые числа:');
s:=0;k:=0;
for i:=1 to n do
 begin
  readln(a);
  if a>0 then s:=s+a;
  if a<0 then k:=k+1;
 end;
writeln('Сумма положительных=',s);
write('Количество отрицательных=',k);
readln
end.

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

program pr14;
uses crt;
type mas=array[1..3000] of shortint;
var
sum:integer;
n,i,m:shortint;
a:mas;
function masiv(sum:integer; n:integer;a:mas):integer;
var k,i,kvo:integer;
begin
sum:=0;
for i:=1 to n do
if a[i]>0 then
sum:=sum+a[i];
for i:=1 to n do
if a[i]<0 then k:=k+1;
writeln('sum=',sum);
masiv:=k;
end;
 
begin
clrscr;
writeln('vvedite n');
readln(n);
for i:=1 to n do begin
writeln('vvedite a',i);
readln(a[i]);
end;
writeln(masiv(sum,n,a));
readln;
end.

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

program pr14;
uses crt;
type mas=array[1..3000] of integer;
function Summa(n:integer;a:mas):integer;
var i,sum:integer;
begin
sum:=0;
for i:=1 to n do
if a[i]>0 then
sum:=sum+a[i];
Summa:=sum;
end;
function Kol(n:integer;a:mas):integer;
var i,k:integer;
begin
k:=0;
for i:=1 to n do
if a[i]<0 then k:=k+1;
Kol:=k;
end;
var a:mas;
    n,i:integer;
begin
clrscr;
repeat
writeln('vvedite n do 3000 n=');
readln(n);
until (n>0)and(n<=3000);
for i:=1 to n do
 begin
  write('[a',i,']=');
  readln(a[i]);
 end;
clrscr;
writeln('Massiv:');
for i:=1 to n do
write(a[i],' ');
writeln;
writeln;
writeln('Summa polozitelnyh=',Summa(n,a));
writeln('Kolichestvo otricatelnyh=',Kol(n,a));
readln
end.

Leave a Comment

+ 48 = 50