Аватар
Информатика, опубликовано 2018-08-22 20:42:40 by Гость

Помогите откорректировать середину программы. Необходимо найти сумму элементов массива, расположенных между первым и вторым положительными элементами.Моя программа:var a:array[1..100]of real;i,n,k,p:integer;s:real;beginassign(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=1)and(a[i]

Аватар
Ответ оставил Гость

readln(n);
  for i := 1 to n do
    read (a[i]);
  i := 1;
  while (i     i := i + 1;
  if i > n then writeln (0)
  else
  begin
    k := i;
    i := i + 1;
    while (i       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 - у Вас она вовсе не инициализировалась.

Вопрос
Не нашли ответа?
Если вы не нашли ответа на свой вопрос, или сомневаетесь в его правильности, то можете воспользоваться формой ниже и уточнить решение. Или воспользуйтесь формой поиска и найдите похожие ответы по предмету Информатика.