Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.145.119.199] |
|
Сообщ.
#1
,
|
|
|
Заранее огромное спасибо..
Мне задали задачку (Запрещенны служебные слова for while repeat if): 1. Округлить до ближайшего целого заданное вещественное число. Входные данные: Во входном потоке задано вещественное число А (-30000 < A < 30000) Выходные данные: В выходной поток вывесли единственное целое число. Var a:real; Begin Readln(a); WriteLn(round(a)); End. Казалось бы легкая задача, а не получается... и говорят, что нужно лучше подумать... |
Сообщ.
#2
,
|
|
|
А что не так? (сомневаюсь, что это задача на использование внутреннего формата ieee-754)
|
Сообщ.
#3
,
|
|
|
Цитата MBo @ А что не так? (сомневаюсь, что это задача на использование внутреннего формата ieee-754) А вот этого я тоже не понимаю, программа делает именно то, что нужно, а вот сайт , где я решаю их, говорит что это не верно..... |
Сообщ.
#4
,
|
|
|
Формулировка точная приведена?
Если это проверяется автоматом - может быть дело в формате ввода и вывода? |
Сообщ.
#5
,
|
|
|
Цитата MBo @ Формулировка точная приведена? Если это проверяется автоматом - может быть дело в формате ввода и вывода? Возможно.. если быть точнее , то так Входные данные: -Во входном потоке задано вещественное число A (-30000 < A <30000) с точностью до четырех знаков после запятой. Выходные данные: -В выходной поток вывели единственное целое число. и еще , функция принимает real, а выводит Integer , а значит проблем не должно быть... |
Сообщ.
#6
,
|
|
|
Какая ошибка выдается?
Десятичный разделитель (точка/запятая) правильно учитывается? Readln ждет перевода строки? Он обеспечивается вводом? |
Сообщ.
#7
,
|
|
|
Цитата MBo @ Какая ошибка выдается? Десятичный разделитель (точка/запятая) правильно учитывается? Readln ждет перевода строки? Он обеспечивается вводом? Ошибки нету, но тесты не проходит. Да все правильно,да. Может есть какие-то другие методы округления числа в паскале? |
Сообщ.
#8
,
|
|
|
Ладно, спасибо Сам все додумал Все можно было решить через trunc и frac!
|
Сообщ.
#9
,
|
|
|
А смысл? Round осуществляет точно то, что нужно. Единственный тонкий момент - округление чисел XXX.5000 - по умолчанию до чётного.
Сообщения были разделены в тему "spam" |