Язык С
Даний вектор A(N). Знайти суму елементів, що розміщені між першим і останнім від’ємним елементом.
Код:
uses crt;
const N=5;
var a:array[1..N] of integer;
s,i,tmp,tmp1:integer;
flag:boolean;
begin
clrscr;
for i:=1 to N do
begin //ввод массива
write('A[',i,']=');
readln(a[i]);
end;
clrscr;
for i:=1 to N do
begin
if i<N then
write(a[i],',') //вывод массива
else
write(a[i]);
end;
i:=1;flag:=false;
repeat
if a[i]<0 then
begin
tmp:=i;
flag:=true; //поиск номера первого отрицательного єлемента
end
else i:=i+1;
until (flag) or (i=N);
i:=N;flag:=false;
repeat
if a[i]<0 then
begin
tmp1:=i; //поиск номера последнего отрицательного елемента
flag:=true;
end
else i:=i-1;
until (flag) or (i=0);
s:=0;
for i:=tmp to tmp1 do
s:=s+a[i];
writeln('sum=',s); //сумма єлементов между первім и последним отрицательнімі єлементами.
readkey;
end.