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