Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.11.2012, 19:10   #1
vovken1997
Дружелюбный
Форумчанин
 
Аватар для vovken1997
 
Регистрация: 23.02.2012
Сообщений: 692
Вопрос Вывод чисел

ВСЕМ ПРИВЕТ!
Я сейчас решил задачу которая будет проверятся компом. В общем нашёл я решение. В конце моего алгоритма необходимо поделить два числа и вывести то что получится. Максимум 9 символов после запятой и 9 символов перед запятой. Делю 1/3 получаю 0,333333333, тут всё как надо. Но когда ответ программы к примеру 2,8/2 , она выводит 1,400000000, а надо 1,4. К сожелению проверяющая прога не принимает 1,400000000. Помогите пожайлуста вывести как надо.
-==ЛЮБОЕ ЗНАНИЕ ДОСТИГАЕТСЯ ТОЛЬКО СОБСТВЕННЫМИ УСИЛИЯМИ!!!==-
vovken1997 вне форума Ответить с цитированием
Старый 12.11.2012, 20:08   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Показывай код вывода.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 12.11.2012, 20:22   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Код:
WriteLn(f:9:9)
так?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 12.11.2012, 20:45   #4
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Серж, наверно так
Код:
WriteLn(f:0:9)
Это разобрались с ограничениями. Но тут надо решить вопрос с ноликами в конце, тоесть не 1.300000000, а 1.3
Ну самый простой вариант, это в строку, а оттуда посимвольным выводом.
Код:
Str (a, s);
for i := Length(s) downto 1 do
    if not (s[i] in ['0', '+', 'E', '.']) then
       Break;

for j := 2 to i do
        Write (s[j])
Почему с двойки? - Т.к. почему-то при конвертировании в строку, 1 элементом является пробел

Последний раз редактировалось Poma][a; 12.11.2012 в 20:54.
Poma][a вне форума Ответить с цитированием
Старый 12.11.2012, 20:49   #5
vovken1997
Дружелюбный
Форумчанин
 
Аватар для vovken1997
 
Регистрация: 23.02.2012
Сообщений: 692
По умолчанию

Блин, что только через строку?
Нолики долбаные...
-==ЛЮБОЕ ЗНАНИЕ ДОСТИГАЕТСЯ ТОЛЬКО СОБСТВЕННЫМИ УСИЛИЯМИ!!!==-
vovken1997 вне форума Ответить с цитированием
Старый 12.11.2012, 20:55   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
WriteLn(f:0:0)
Должно помочь
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 12.11.2012, 20:56   #7
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Stilet, а как же 0.33333333 ?
Poma][a вне форума Ответить с цитированием
Старый 12.11.2012, 21:40   #8
vovken1997
Дружелюбный
Форумчанин
 
Аватар для vovken1997
 
Регистрация: 23.02.2012
Сообщений: 692
По умолчанию

Спасибо Poma][a!!!
То что надо.
Работает
-==ЛЮБОЕ ЗНАНИЕ ДОСТИГАЕТСЯ ТОЛЬКО СОБСТВЕННЫМИ УСИЛИЯМИ!!!==-
vovken1997 вне форума Ответить с цитированием
Старый 12.11.2012, 21:49   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Согласен, не подумал.
Тогда чтоб наверняка - переводить число в строку, и убирать из нее завершающие нули.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 16.11.2012, 13:55   #10
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

эка меня осенило
Код:
var
        m, n : Integer;

begin
       ....
       if n mod m <> 0 then
             WriteLn (n / m : 0 : 9)
       else
             WriteLn (n / m : 0 : 0)      
end.
Poma][a вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод чисел Dima-War Общие вопросы C/C++ 2 27.03.2012 20:53
вывод чисел на экран TotKtoNado Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 22 02.01.2012 14:18
Вывод чисел Matt_Tuck Фриланс 11 15.03.2010 23:03
Вывод простых чисел. MAKEDON Помощь студентам 1 10.03.2009 16:55
Форматированный вывод чисел frankfish Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 04.03.2009 17:59