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