profile
Опубликовано 4 года назад по предмету Информатика от iljashandrik

напишите программу на любом известном Вам алгоритмическом языке. На вход программе подается число N. Далее вводится N чисел. Программа определяет, будет ли произведение этих чисел положительным

  1. Ответ
    Ответ дан Sky09
    Паскаль

    uses crt;
    var n,pr,x:integer;
        a: array [1..1000] of integer;
    begin
         write('Введи количество чисел последовательности:');
         readln(n);
         pr:=1;
         for x:=1 to N do
         begin
              readln(a[x]);
              pr:=pr*a[x];
         end;
         if pr>0 then writeln('YES')
            else writeln('NO');
    end.
  2. Ответ
    Ответ дан mefody66
    Произведение чисел положительно, если среди них есть четное количество отрицательных чисел. И отрицательно, если их нечетное количество.
    Я просто алгоритм напишу
    1) Вводим число N
    2) Устанавливаем счетчик k = 0
    3) Цикл по i от 1 до N
    3.1) Вводим очередное число
    3.2) Если число < 0, то прибавляем счетчик k = k + 1
    3.3) Конец цикла
    4) Если число k четное (k mod 2 = 0), то результат положительный
    Если k нечетное (k mod 2 = 1), то результат отрицательный.
    5) Конец
    А вот делать так, как Sky предлагает, я бы не стал. Он тупо перемножает числа.
    Произведение может оказаться слишком большим, да оно нам и не нужно.