напишите программу на любом известном Вам алгоритмическом языке. На вход программе подается число N. Далее вводится N чисел. Программа определяет,
10-11 класс
|
будет ли произведение этих чисел положительным
Паскаль
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.
Произведение чисел положительно, если среди них есть четное количество отрицательных чисел. И отрицательно, если их нечетное количество.
Я просто алгоритм напишу
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 предлагает, я бы не стал. Он тупо перемножает числа.
Произведение может оказаться слишком большим, да оно нам и не нужно.
Другие вопросы из категории
массив целых чисел (n=15),
заполненный случайным образом числами из промежутка [-20,50].
Читайте также
остаток от деления которых на 5 больше двух
углов.
2)
Напишите пожалуйста программу (на языке BASIC) для определения подобия:
а) двух прямоугольников по двум смежным сторонам;
б) двух треугольников по трем сторонам.
длинами своих сторон – a, b, c. Определить является ли
он тупоугольным, прямоугольным или остроугольным.
2) Построить циклический алгоритм, записать ввиде блок-схемы и на алгоритмическом языке.
Построить алгоритм, который определяет количество студентов в группе,
чей рост превышает среднее для группы значение.
добрый вечер, всем. помогите, пожалуйста, написать программу на Ассемблере.
задание:
Создать программу на языке Ассемблер, что позволяет организовать вычисления над элементами массивов
Объединить два массива 8-битных целых чисел со знаком. Сначала элементы второго затем первого.
заранее огромное спасибо всем!