Вывести YES, если есть два числа с одинаковыми знаками, и NO – иначе - Pascal ABC
Формулировка задачи:
Сначала задано число N - количество элементов в массиве. Далее через пробел записаны N чисел - элементы массива. Массив содержит только ненулевые числа. Программа должна вывести YES, если есть два числа с одинаковыми знаками, и NO – иначе.
Во входном файле сначала заданно число K - кол-во тестируемых массивов (1=< K =< 10). Далее следует K блоков данных. В каждом блоке число N - кол-во элементов в массиве (1=<N =< 100) и далее через пробел N чисел - элементы массива Все числа по модулю не превосходят 10000. Все массивы содержат ненулевые числа.
Программа должна для каждого блока входных данных вывести YES, если есть два числа с одинаковыми знаками, и NO – иначе.
пример на скрине (не понял как тут делать таблицу)
(протестите по скрину поймете в чем ошибка)
когда найдете ошибку пожалуйста объяснить как она работает
просьба,по возможности сильно код не менять!!!)
вот код
Решение задачи: «Вывести YES, если есть два числа с одинаковыми знаками, и NO – иначе»
textual
Листинг программы
program l1;
var a:array[1..100] of integer;
b,i,n,k,j:integer;
begin
readln(b);
for j := 1 to b do
begin
readln(n);
for i:=1 to n do
read(a[i]);
k:=0;
for i:=2 to n do
if a[i]*a[i-1]>0 then k:=1;;
if k=1 then writeln('YES') else writeln('NO');
end;
end.
Объяснение кода листинга программы
В данном коде происходит следующее:
- Создается программа
l1. - Объявляются переменные: a - массив целых чисел размером от 1 до 100, b, i, n, k, j - целые числа.
- Считывается первое число b.
- Для каждого числа b от 1 до b выполняется цикл.
- Внутри цикла считываются числа n и i.
- Создается переменная k, которая инициализируется нулем.
- Для каждого числа i от 1 до n выполняется цикл.
- Внутри цикла проверяется условие: если произведение чисел a[i] и a[i-1] больше нуля, то переменная k устанавливается в единицу.
- После завершения внутреннего цикла проверяется значение переменной k.
- Если k равно единице, то выводится строка
YES, иначе выводится строкаNO. - Программа завершается.