Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Pascal. подскажите где ошибка,необходимо предпоследний положительный элемент заменить на 0

nighthunter Профи (509), закрыт 12 лет назад
Дополнен 12 лет назад
kol:=0;
i:=1;
While (i<n)>>0) then
inc(kol);
end;
if (kol=2) then
x:=0;

for i:=1 to N do
writeln(x:1:4);
readkey;
Лучший ответ
Константин Сысоев Мудрец (15695) 12 лет назад
условия какие? Заменить ПРЕДПОСЛЕДНИЙ ПОЛОЖИТЕЛЬНЫЙ. А у тебя меняет ПРЕДПОСЛЕДНИЙ ЕСЛИ ОН ПОЛОЖИТЕЛЬНЫЙ, что не одно и то же.
тебе нужно сделать два счетчика, первый будет считать элементы массива ВНИЗ (от большего к меньшему) , а второй - положительные числа. В начале инициализируешь первый счетчик количеством элементов в массиве, второй нулём- и поехали цикл, в цикле вместо инкремента делаешь декремент первого счетчика. и проверку на положительность элемента. Если положителен - инкрементим второй счетчик, проверяем второй счетчик, если значение строго равно 2 - заменяем элемент на 0 и выходим из цикла. Вот и все!

И кстати, что-то в твоем коде я массива-то не увидел! Ты вообще соображаешь что такое массив, что такое элемент массива? Может, стоит для начала почитать матчасть?
Источник: сложно гуманитариям в программировании. А идиотам - еще сложнее...
Остальные ответы
Сергей 11 Гуру (3051) 12 лет назад
if (kol=2) then x:=0; ...если количество =2 то х присвоить 0
Krab Вark Оракул (56968) 12 лет назад
Что-то напоминающее Pascal...
Похожие вопросы