Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Проблема с задачей на паскале

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Компилируемые языки] >> Проблема с задачей на паскале
Имя
Сообщение << Старые топики   Новые топики >>
Проблема с задачей на паскале - 2010-06-11 18:19:44.290000   
SpAcE MaN

Сообщений: 61
Оценки: 0
Присоединился: 2010-06-10 15:58:11.826666
Не могу понять, почему ошибка? Пишет ошибка числа! Ошибка отмечена.

quote:

Program calc;
Var
a, b, c, d :integer;
bb, cc, dd :real;
i, o :text;
begin
assign (i,'input.txt');
assign (o,'output.txt');
reset (i);
read (i,a,b,c); {Собственно здесь}
if a=1 then
begin
d:=a+b;
rewrite (o);
write (o,d);
end
else;
if a=1 then
begin
d:=a-b;
rewrite (o);
write (o,d);
end
else;
if a=3 then
begin
dd:=bb/cc;
rewrite (o);
write (o,dd);
end
else;
if a=4 then
begin
d:=b*c;
rewrite (o);
write (o,d);
end
else;
close (i);
close (o);
end.
Post #: 1
RE: Проблема с задачей на паскале - 2010-06-12 05:04:18.470000   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
содержимое файлов покажи
Post #: 2
RE: Проблема с задачей на паскале - 2010-06-12 11:34:08.410000   
SpAcE MaN

Сообщений: 61
Оценки: 0
Присоединился: 2010-06-10 15:58:11.826666
Ну в input.txt на пример 1 5 5 (1 это номер действия 5 и 5 слогаемые) после действий результат записывается в output.txt вот проблема с чтением input.txt на этом этапе пишит ошибка числа
Post #: 3
RE: Проблема с задачей на паскале - 2010-06-14 09:07:21.983333   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
Почему у переменных i, o тип text, когда должен быть file of integer?
Post #: 4
RE: Проблема с задачей на паскале - 2010-06-15 01:25:35.640000   
Meliborn

Сообщений: 294
Оценки: 0
Присоединился: 2009-06-17 16:06:59.840000
Ну вы хоть отступы делайте…нереально читать.
Post #: 5
RE: Проблема с задачей на паскале - 2010-06-15 12:53:46.813333   
Zmaster

Сообщений: 930
Оценки: 0
Присоединился: 2007-02-09 19:02:43.500000

quote:

ORIGINAL: _SaZ_

Почему у переменных i, o тип text, когда должен быть file of integer?

Может быть ты и прав, что в данном случае это так, но у меня к примеру, такой код спокойно компилируется и работает:

var s:text var i:integer begin assign(f, 'file.txt'); reset(f); read(f, i); close(f); end.
Так как по идее оператор read сам должен по возможности преобразовать число из файла под тип переменной. К примеру, если в файле запись типа "12 23", то данный оператор, видя, что тип переменной для чтения есть integer, ищет ближайшее значение этого типа. То есть при первом чтении он найдет число 12 и запишет его в переменную, каретка файла сдвигается на 2 символа. Далее он будет пропускать пробелы, пока не встретит еще число 23.

SpAcE MaN, попробуй написать не read (i,a,b,c), а:
read (i,a);
read (i,b);
read (i,c);
И скажи получится или нет.
Post #: 6
RE: Проблема с задачей на паскале - 2010-06-15 12:55:32.696666   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
Я действительно ошибся. File of integer - это не то.
Post #: 7
Страниц:  [1]
Все форумы >> [Компилируемые языки] >> Проблема с задачей на паскале







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.