СРОЧНО РЕШИТЕ ЗАДАЧУ ПО PASCAL
Дана последовательность целых чисел. Выяснить какое число встречается раньше положительное или отрицательное.
Мартын05:
Непонятно как это "раньше"? Возьми первое из последовательности и смотри положительное оно или отрицательное. Первое в любом случае будет "раньше" остальных.
Т.е само оригинальное задание Дана последовательность целых чисел а1, а2,..., аn. Выяснить, какое число встречается раньше — положительное или отрицательное.
Фигня какая-то. a1 раньше других встретится. Значит какое оно, такой и ответ. Или там и 0 может быть?
а может быть такое решение
Program num3;
Uses crt;
VAr
a :array [1..100] of real;
i,n : integer;
Begin
clrscr;
write('n=');readln(n);
for i:=1 to n do
readln(a[i]);
for i:=1 to n do
begin
if a[i]<>0 then
if a[i]>0 then
begin
writeln('Положительное встречается раньше');
break
end else
begin
writeln('Отрицательное встречается раньше');
break
end;
end;
End.
Uses crt;
VAr
a :array [1..100] of real;
i,n : integer;
Begin
clrscr;
write('n=');readln(n);
for i:=1 to n do
readln(a[i]);
for i:=1 to n do
begin
if a[i]<>0 then
if a[i]>0 then
begin
writeln('Положительное встречается раньше');
break
end else
begin
writeln('Отрицательное встречается раньше');
break
end;
end;
End.
Можно и так, только надо после первого then поставить begin и после последнего break поставить end;
Ответы
Ответ дал:
1
Если нуль возможен, то примерно так.
function whatsign(a: array of integer):boolean;
var find:boolean;
i:integer;
begin
i:=min(a);
find:=false;
result:=false;
while (not find) and (i<=max(a)) do
begin
find:=a[i]<>0;
if find then result:=a[i]>0;
i:=i+1;
end;
end;
Функция вернёт True, если раньше положительное и False, если раньше отрицательное.
Примерно так. Проверь синтаксис объявления переменных и функции.
function whatsign(a: array of integer):boolean;
var find:boolean;
i:integer;
begin
i:=min(a);
find:=false;
result:=false;
while (not find) and (i<=max(a)) do
begin
find:=a[i]<>0;
if find then result:=a[i]>0;
i:=i+1;
end;
end;
Функция вернёт True, если раньше положительное и False, если раньше отрицательное.
Примерно так. Проверь синтаксис объявления переменных и функции.
Вас заинтересует
2 года назад
2 года назад
2 года назад
9 лет назад