Объяснение:
const
n = 10;
ar:array[1..n] of integer = (-2, -1, 2, 3, 4, 5, -5, -6, 2, 5);
var
i:integer;
is_first_pol:boolean;
raz_pol:integer;
begin
raz_pol:=0;
is_first_pol:=true; // флаг того, что найденное положительное число - первое
for i:=1 to n do begin
if (ar[i] > 0) then
if (is_first_pol) then begin
// если найденное полодительное число - первое, то
raz_pol:=ar[i]; // в нашу разницу заносим это число
is_first_pol:=false; // меняем флаг
end
else raz_pol:=raz_pol - ar[i]; // иначе вычисляем разницу
end;
writeln(raz_pol);
end.
#include<iostream>
using namespace std;
int main() {
int down, upper, i, sum=0;
cin>>down;
cin>>upper;
for(i=down; i<=upper; i++ )
sum+=i;
cout<<sum;
}
Объяснение:
Чтобы посчитать сумму чисел от какого-то (down) до какого-то (upper), нужно использовать цикл for.
Задаёшь эти самые границы (down и upper), цикл будет повторятся до тех пор, пока значение i не будет равно upper.
В теле цикла считаешь нужную сумму цифр. Как это работает? Очень просто! Когда программа доходит до этого цикла, она присваивает i значение down, затем прибавляет это значение i к sum. Потом программа возвращается к началу цикла, чтобы проверить значение i на соответствие верхней границе upper, если соответствует, то к значению i прибавляется 1 (так как в условии задано правило i++, то есть i=i+1 ) и снова срабатывает тело цикла, где к новой сумме прибавляется новое i (sum+=i – это sum=sum+i). Когда цикл заканчивается, срабатывает оператор вывода cout, который выводит новейшее значение sum.
Когда объявляешь переменные, не забудь оператору sum присвоить значение 0, так как сумма начинается с нуля