Задать вопрос
2 марта, 17:35

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

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

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.

+5
Ответы (2)
  1. 2 марта, 18:41
    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-ого элемента массива, и может выдаваться ошибка)
  2. 2 марта, 19:01
    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.
Знаете ответ на вопрос?
Не уверены в ответе?
Правильный ответ на вопрос 👍 «Помогите откорректировать программу - Паскаль. Структура программы как у меня. Условие: Дан одномерный массив, состоящий из вещественных ...» по предмету 📗 Информатика. Развернутая система поиска нашего сайта обязательно приведёт вас к нужной информации. Как вариант - оцените ответы на похожие вопросы. Но если вдруг и это не помогло - задавайте свой вопрос знающим оппонентам, которые быстро дадут на него ответ!
Искать готовые ответы
Похожие вопросы по информатике
Помогите отредактировать программу - Паскаль. Где-то ошибка. Необходимо удалить первый кратный 3 элемент массива. program udalenie; var i, n, k:integer; a:array[1 ... 1000] of integer; begin assign (input,'input. txt') ; assign (output,'output.
Ответы (1)
Помогите откорректировать середину программы. Необходимо найти сумму элементов массива, расположенных между первым и вторым положительными элементами. Моя программа: var a:array[1 ...
Ответы (1)
Найти сумму чисел в текстовом документе. Почему пишет неизвестный идентификатор. var a, b:integer; begin assign (input,'input. txt') ; reset (input) ; assign (output,'output.
Ответы (1)
Очень нужна помощь! Целый день ломаю голову. Программа на Паскале. Найти максимальное среди элементов массива кратных 3. Структура программы надо как у меня, но Паскаль ругается на 15 строку на несовместимость типов - не понимаю свою ошибку.
Ответы (1)
Нужна помощь в отредактировании программы Паскаль. Нужно, чтобы выводилось максимальное среди двузначных элементов массива.
Ответы (1)