Школа программиста

Забыли пароль?
[задачи] [курсы] [олимпиады] [регистрация]
Логин:   Пароль:    
Скрыть меню
О школе
Правила
Олимпиады
Фотоальбом
Гостевая
Форум
Архив олимпиад
Архив задач
Состояние системы
Рейтинг
Курсы
Новичкам
Работа в системе
Курсы ККДП
Дистрибутивы
Статьи
Ссылки


 
Вернуться
Тема: Найдите ошибку в программе
program z2;
var s:longint;
n,i:integer;
begin
assign (input,'input.txt');
reset (input);
assign (output, 'output.txt');
rewrite (output);
read(n);
s:=0;
if n>0 then
for i:=1 to n do
s:=s+i;
if n<0 then
for i:=1 downto n do s:=s+i;
write(s);
end.

1
  1  Ильящук Андрей Александрович, 23 января 2009 г. 18:43:27
      Ошибка не только в этом.
После if n>0 then должен быть begin.
  2  Беляев Сергей Николаевич, 17 октября 2007 г. 4:50:34
      А как насчет случая n=0? По-вашему нужно 0 выводить, а не 1? И не пишите подобные вопросы в общем форуме, для этого есть обсуждение конкретной задачи.
  3  Степан, 17 октября 2007 г. 1:03:54
      Ошибка точно в строке for i:=1 downto n do s:=s+i; тк, downto это декременационная инструкция.
Скорее всего правильно будет for i:=n to 1 do s:=s+i;(если я правильно понимаю).
1

Чтобы оставить сообщение необходимо зарегистрироваться и авторизоваться!

Красноярский краевой Дворец пионеров, (c)2006 - 2026, ИНН 246305493507, E-mail: admin@acmp.ru