Здравствуйте!!!
Помогите пожалуйста написать программу в ПАСКАЛЕ!

____________
задание во вложении

Приложения:

Ответы

Ответ дал: mnv1962
1
const
n=10;
var
j,i:integer;
a:array[1..n]of real;
s:real;     
    begin         
       for i:=1 to n do 
             readln(a[i]);         
                writeln;         
                  writeln('ARRAY: ');         
                        for i:=1 to n do             
                            write(a[i]:8:2);             
j:=1;       i:=1;     
      while (a[i]>0)and(i<n) do         
              begin           
                  i:=i+1;           
                  j:=i;       
              end;     
    if j<>n then     
        begin     
            for i:=j+1 to n do         
                  s:=s+abs(a[i]);         
            writeln;     
            writeln(s:8:2);     
       end     
   else     
       writeln('единственный отрицательный - последний элемент')   
  end.

nemolkl: Переменные необходимо определять ! s:=s+abs(a[i]);
mnv1962: Определять - это что Вы имеете в виду
mnv1962: ПРисваивать начальное зачение?
nemolkl: Да. И вопрос, для чего вы в цикле while a[i]>0 do используете считаете и I и J. Не проще ли j вынести за цикл J:=i+1
mnv1962: Чего ее определять? По умолчанию все значения в Паскаль равны 0
mnv1962: В j записываю индекс самого первого нечетного, чтобы потом ПОСЛЕ него начать считать сумму
mnv1962: А i я не считаю, а просто увеличиваю, чтобы просмотреть все элементы, пока не встретится отрицательное
nemolkl: j:=1; i:=1;
while a[i]>0 do i:=i+1;
j:=i;
mnv1962: Проще - это вопрос логики каждого. Мне проще так
Аноним: Спасибо всем,очень помогли!!!
Вас заинтересует