Предмет: Информатика, автор: poops1

Плиииз! Нужна помощь! Задан числовой массив А(50). Определить, каких элементов больше в этом массиве: положительных или отрицательных.
При решении учтите, что число 0 не относится ни к отрицательным, ни к положительным числам.


sdsdf: В чём сложность возникает?
NiGhtWolFs: все 50 чисел в массив вводятся с клавиатуры?
Аноним: Скорее всего, в неумении нормально выражать свои мысли в обществе. Так и представляю себе, как автор вопроса на уроке поднимает руку и говорит учителю: "Плиииз! Повторите еще раз целом все предложение!".
marktiukov: А в каком языке вообще писать?!
poops1: pascal

Ответы

Автор ответа: Provider
4
//писал на скорую руку, должно все правильно работать
var
a,plus,minus,d:integer;
c:array[1..50] of integer;
begin
plus:=0;
minus:=0;
for a:=1 to 50 do
c[a]:=random(20)-10;//заполняем массив рандомо
for a:=1 to 50 do//проверям условие
if ((c[a]>0) and (c[a]<>0)) then
plus:=plus + 1
else if ((c[a]<0) and (c[a]<>0)) then
minus:= minus + 1;
Writeln(plus,' ');//кол-во полож
Writeln(minus,' ');//кол-во отриц
if (plus>minus)then
Writeln('Положительных')
else Writeln('Отрицательных');
end.

Аноним: Впервые такую "логику" встречаю. Проверяется условие: "если значение больше нуля и не равно нулю" (зачем вторая проверка? Само собой, если значение больше нуля, то равно нулю оно никак быть не может). И далее опять "иначе, если значение меньше нуля и не равно нулю" (опять ненужная проверка на неравенство нулю). А зачем на выводе после значений plus и minus пробелы выводить, если потом смена строки идет - это вообще удивительно.-
Аноним: Но работать "это" будет, так что в целом правильно.
Похожие вопросы