Вывести YES, если есть два числа с одинаковыми знаками, и NO – иначе - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Сначала задано число N - количество элементов в массиве. Далее через пробел записаны N чисел - элементы массива. Массив содержит только ненулевые числа. Программа должна вывести YES, если есть два числа с одинаковыми знаками, и NO – иначе. Во входном файле сначала заданно число K - кол-во тестируемых массивов (1=< K =< 10). Далее следует K блоков данных. В каждом блоке число N - кол-во элементов в массиве (1=<N =< 100) и далее через пробел N чисел - элементы массива Все числа по модулю не превосходят 10000. Все массивы содержат ненулевые числа. Программа должна для каждого блока входных данных вывести YES, если есть два числа с одинаковыми знаками, и NO – иначе. пример на скрине (не понял как тут делать таблицу) (протестите по скрину поймете в чем ошибка) когда найдете ошибку пожалуйста объяснить как она работает просьба,по возможности сильно код не менять!!!) вот код
Листинг программы
  1. program l1;
  2. var a:array[1..100] of integer;
  3. b,i,n,k,j:integer;
  4. begin
  5. k:=0;
  6. readln(b);
  7. for j := 1 to b do
  8. begin
  9. readln(n);
  10. for i:=1 to n do
  11. begin
  12. read(a[i]);
  13. end;
  14. for i:=2 to n do
  15. if a[i]*a[i-1] > 0 then inc(k);
  16. if k>0 then writeln('YES') else writeln('NO');
  17. end;
  18. end.

Решение задачи: «Вывести YES, если есть два числа с одинаковыми знаками, и NO – иначе»

textual
Листинг программы
  1. program l1;
  2.  var a:array[1..100] of integer;
  3.      b,i,n,k,j:integer;
  4. begin
  5. readln(b);
  6. for j := 1 to b do
  7.  begin
  8.   readln(n);
  9.   for i:=1 to n do
  10.    read(a[i]);
  11.   k:=0;
  12.   for i:=2 to n do
  13.    if a[i]*a[i-1]>0 then k:=1;;
  14.   if k=1 then writeln('YES') else writeln('NO');
  15.  end;
  16. end.

Объяснение кода листинга программы

В данном коде происходит следующее:

  1. Создается программа l1.
  2. Объявляются переменные: a - массив целых чисел размером от 1 до 100, b, i, n, k, j - целые числа.
  3. Считывается первое число b.
  4. Для каждого числа b от 1 до b выполняется цикл.
  5. Внутри цикла считываются числа n и i.
  6. Создается переменная k, которая инициализируется нулем.
  7. Для каждого числа i от 1 до n выполняется цикл.
  8. Внутри цикла проверяется условие: если произведение чисел a[i] и a[i-1] больше нуля, то переменная k устанавливается в единицу.
  9. После завершения внутреннего цикла проверяется значение переменной k.
  10. Если k равно единице, то выводится строка YES, иначе выводится строка NO.
  11. Программа завершается.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.857 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы