Задать вопрос
3 января, 12:59

Помогите откорректировать программу - Паскаль. Структура программы как у меня.

Условие: Дан одномерный массив, состоящий из вещественных элементов. Найти сумму элементов массива, расположенных до последнего положительного элемента.

program k;

var a:array[1 ... 100] of real;

i, n, p, v: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>=0) and (a[i]<=0) do i:=i-1;

if i<0 then writeln (0)

else p:=i;

s:=0;

for i:=1 to p-1 do s:=s+a[i];

writeln (s:0:0) ;

close (input) ;

close (output) ;

end.

+3
Ответы (2)
  1. 3 января, 13:24
    0
    var

    a:array[1 ... 100] of real;

    i, n, last:integer;

    s:real;

    input, output:text;

    begin

    assign (input,'input. txt') ;

    assign (output,'output. txt') ;

    reset (input) ;

    rewrite (output) ;

    readln (n) ;

    for i:=1 to n do begin

    read (input, a[i]) ;

    if (a[i] > = 0) then last:=i; end;

    for i:=1 to last-1 dos:=s+a[i];

    write (output, s:5:3) ;

    close (input) ;

    close (output) ;

    end.
  2. 3 января, 14:53
    0
    строку

    i:=1;

    нужно поменять на

    i:=n; (раз уж вы начинаете считать с конца)

    а строки

    while (i>=0) and (a[i]<=0) do i:=i-1;

    if i<0 then writeln (0)

    на

    while (i>0) and (a[i]<=0) do i:=i-1;

    if i=0 then writeln (0) (поскольку нет 0-ого элемента массива, и может выдаваться ошибка)
Знаете ответ на вопрос?
Не уверены в ответе?
Правильный ответ на вопрос 👍 «Помогите откорректировать программу - Паскаль. Структура программы как у меня. Условие: Дан одномерный массив, состоящий из вещественных ...» по предмету 📗 Информатика. Развернутая система поиска нашего сайта обязательно приведёт вас к нужной информации. Как вариант - оцените ответы на похожие вопросы. Но если вдруг и это не помогло - задавайте свой вопрос знающим оппонентам, которые быстро дадут на него ответ!
Искать готовые ответы