Предмет: Информатика, автор: Ольга35

Помогите откорректировать середину программы. Необходимо найти сумму элементов массива, расположенных между первым и вторым положительными элементами.
Моя программа:
var a:array[1..100]of real;
i,n,k,p:integer;
s:real;
begin
assign(input,'input.txt');
assign(output,'output.txt');
reset(input);
rewrite(output);
readln(n);
for i:=1 to n do read(a[i]);
i:=1;
while(i<=n)and(a[i]<=0) do i:=i+1;
if i>n then writeln('0')
else begin
k:=i;
i:=n;
while(i>=1)and(a[i]<=0)do i:=i-1;
if i<1 then writeln('0')
else begin
for i:=k+1to p-1 do s:=s+a[i];
writeln(s:0:3);
end;
end;
close(input);
close(output);
end.

Ответы

Автор ответа: emblerik
0
  readln(n);
  for i := 1 to n do
    read (a[i]);
  i := 1;
  while (i <= n) and (a[i] <= 0) do
    i := i + 1;
  if i > n then writeln ('0')
  else
  begin
    k := i;
    i := i + 1;
    while (i <= n) and (a[i] <= 0) do
      i := i + 1;
    if i > n then writeln ('0')
    else
    begin
      p := i;
      for i := k + 1 to p - 1 do
        s := s + a[i];
      writeln(s:0:3);
    end;
  end;

Что я сделал: после нахождения первого элемента не надо идти в конец и с конца перебирать в другую сторону. Надо просто продолжить в том же направлении с того же места. И надо не забыть найденное значение сохранить в P - у Вас она вовсе не инициализировалась.
Похожие вопросы
Предмет: Русский язык, автор: kaminskaanasta12

185. Прочитайте текст, заменив глаголы из скобок деепричастиями. Определите
тип речи и стиль текста. Проанализируйте структуру текста, выделив в нём введе-
ние, основную часть и заключение. Составьте вопросный план. Выпишите глаголы
с относящимися к ним деепричастными оборотами.
Результат действия силы зависит не только от величины этой
силы, но и от площади поверхности, перпендикулярно которой она
действует.
Рассмотрим примеры. По рыхлому снегу человек идёт с боль-
шим трудом, глубоко (проваливаться) на каждом шагу. Но, (надеть)
лыжи, он может идти по снегу, почти не (проваливаться) в него.
Почему? На лыжах или без лыж человек действует с одной и той же
силой, равной своему весу. Но действие этой силы в обоих случаях
различно, потому что различна площадь поверхности, на которую
давит человек с лыжами и без лыж. Площадь поверхности лыжи
раз в двадцать больше площади подошвы. Поэтому, (стоять) на лы-
жах, человек действует на каждый квадратный сантиметр площади
поверхности снега с силой в двадцать раз меньше, чем (стоять) на
снегу без лыж.
Значит, от того, какая сила действует на каждую единицу площа-
ди поверхности, зависит результат действия силы.​
Предмет: Физика, автор: vadimbrakovenko99