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