Дан массив, состоящий из целых чисел. Напишите программку, которая определяет, есть
Дан массив, состоящий из целых чисел. Напишите программу, которая определяет, есть ли в массиве пара примыкающих элементов с одинаковыми знаками.
Входные данные
Поначалу задано число N количество частей в массиве (1N10000). Дальше через пробел записаны N чисел элементы массива. Массив состоит из целых чисел.
Выходные данные
Нужно вывести слово YES, если существует пара примыкающих частей с схожими знаками. В противном случае следует вывести слово NO.
Образцы
Входные данные
5
1 -3 4 -2 1
Выходные данные
NO
1 ответ
Лилия Лихачева-Чикинова
Const
n=10000;
var
a:array[1..n]of integer;
i,n1, flag:integer;
begin
readln(n1);
for i:=1 to n1 do
read(a[i]);
for i:=1 to n1-1 do
if ((a[i]lt;0)and(a[i+1]lt;0))or
((a[i]gt;0)and(a[i+1]gt;0))then
flag:=1;
if flag=1 then
writeln('YES')
else
writeln('NO');
end.
n=10000;
var
a:array[1..n]of integer;
i,n1, flag:integer;
begin
readln(n1);
for i:=1 to n1 do
read(a[i]);
for i:=1 to n1-1 do
if ((a[i]lt;0)and(a[i+1]lt;0))or
((a[i]gt;0)and(a[i+1]gt;0))then
flag:=1;
if flag=1 then
writeln('YES')
else
writeln('NO');
end.
Владик
"Крутую" конструкцию ((a[i]<0)and(a[i+1]<0)) or ((a[i]>0)and(a[i+1]>0)) обычно пишут в виде (a[i]*a[i+1])>0. Так как еще в исходной школе изучают, что творенье двух чисел, хороших от нуля и имеющих одинаковые знаки есть число положительное.
Алла Отарова
А вообщем алгоритм очень неэффективный, поэтому что после того, как найдена искомая пара частей, компьютер будет принуждён продолжать напрасно перелопачивать остальную часть массива. что мешало организовать выход из цикла по условию - разума не приложу. Можно было использовать ненавистный канонам структурного программирования (привет Эдгару Дейкстре!) break, либо применить цикл c перед/постусловием.
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
Игорь 14 лет назад был на 8 лет моложе, чем его
Математика.
Два тела массами m1 и m2 находящие на расстоянии R друг
Физика.
В сосуде 4целых одна пятая литр воды что бы заполнить сосуд
Математика.
Двум малярам Диме И Олегу поручили выкрасить фасад дома они разделили
Разные вопросы.
найти порядковый номер 41Э если в ядре 20 нейтронов
Разные вопросы.
в ряду натуральных чисел 3, 8, 10, 24, … 18 одно
Математика.
Предприятие по производству с/хоз продукции на производство затратило 3527000 руб Валовый
Разные вопросы.
Математика, задано на каникулы. ВАРИАНТ 1004
НОМЕР 1,2,3,4,5,6,7,8.
Математика.
Имеются три конденсатора емкостью С1=1мкФ, С2=2мкФ и С3=3мкФ. Какую наименьшую емкость
Физика.
Из точки м выходят 3 луча MP MN и MK причём
Геометрия.
Облако тегов