Форум программистов, компьютерный форум CyberForum.ru

Самопроизвольное добавление чисел - C++

Восстановить пароль Регистрация
 
Graf_777_gos
0 / 0 / 0
Регистрация: 28.11.2013
Сообщений: 3
28.11.2013, 18:45     Самопроизвольное добавление чисел #1
Добрый день! Кто-нибудь может объяснить происходящие и помочь избавиться от этого...
PS Учусь на ИТ, по инфе задали написать программу, которая будет делать примерно это:
Дано число 4.3254 нужно вывести число 3254, то есть стоящее после запятой.
Алгоритм рабочий, вручную проверял, но Visual добавляет нелепые знаки, от которых я, увы, не могу избавиться.
Фото(пример)
Миниатюры
Самопроизвольное добавление чисел  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.11.2013, 18:45     Самопроизвольное добавление чисел
Посмотрите здесь:

C++ Сформировать одномерный массив целых чисел, используя датчик случайных чисел.
Самопроизвольное обнуление константы C++
Выход из программы и самопроизвольное выполнение пункта C++
C++ Дано целое число N и набор из N целых чисел. Определить номера тех чисел наборе, которые меньше своего правого соседа, и количество К таких чисел.
Дан двумерный массив целых чисел, найти количество чисел, кратных N C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Raali
572 / 276 / 12
Регистрация: 06.07.2013
Сообщений: 917
Завершенные тесты: 1
28.11.2013, 18:48     Самопроизвольное добавление чисел #2
возможно надо форматировать вывод, изменять количесмтво знаков после запятой
Graf_777_gos
0 / 0 / 0
Регистрация: 28.11.2013
Сообщений: 3
28.11.2013, 18:55  [ТС]     Самопроизвольное добавление чисел #3
Цитата Сообщение от Raali Посмотреть сообщение
возможно надо форматировать вывод, изменять количесмтво знаков после запятой
Как это можно реализовать? Простите, я начинающий, поэтому много не знаю...
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 3
28.11.2013, 18:56     Самопроизвольное добавление чисел #4
Graf_777_gos, знаки не нелепые, просто мало какие числа можно точно представить с помощью плавающей точки, обычно есть погрешность, эти знаки она и есть.
Raali
572 / 276 / 12
Регистрация: 06.07.2013
Сообщений: 917
Завершенные тесты: 1
28.11.2013, 18:59     Самопроизвольное добавление чисел #5
Цитата Сообщение от Graf_777_gos Посмотреть сообщение
Как это можно реализовать? Простите, я начинающий, поэтому много не знаю...
например
C++
1
printf("%10.3f", 12.234657); //10 знаков до запятой. 3 - после
но это на C, на С++ не знаю как поток форматировать
Graf_777_gos
0 / 0 / 0
Регистрация: 28.11.2013
Сообщений: 3
28.11.2013, 19:01  [ТС]     Самопроизвольное добавление чисел #6
Цитата Сообщение от gray_fox Посмотреть сообщение
Graf_777_gos, знаки не нелепые, просто мало какие числа можно точно представить с помощью плавающей точки, обычно есть погрешность, эти знаки она и есть.
Но разве 4.5-0.5 не ровно 4? о_О Каким способом можно это избежать?
Raali
572 / 276 / 12
Регистрация: 06.07.2013
Сообщений: 917
Завершенные тесты: 1
28.11.2013, 19:04     Самопроизвольное добавление чисел #7
Цитата Сообщение от Graf_777_gos Посмотреть сообщение
Каким способом можно это избежать?
этого никогда не избежать, нельзя число из непрерывной бесконечной последовательности, отобразить без погрешности в дискретной системе компьютера
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.11.2013, 19:08     Самопроизвольное добавление чисел
Еще ссылки по теме:

Из множества целых чисел получить множество чисел, являющихся квадратами нечетных чисел C++
Целую частьиз массива действительных чисел переписать в массив целых чисел C++
C++ Создание очереди чисел (умножение элементов, добавление и удаление, проверка значений)

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 3
28.11.2013, 19:08     Самопроизвольное добавление чисел #8
Цитата Сообщение от Graf_777_gos Посмотреть сообщение
Но разве 4.5-0.5 не ровно 4?
Это если ручками посчитать, в памяти будет храниться не 4.5, а какое то близкое число, это связано с форматом представления чисел с плавающей точкой.

Добавлено через 4 минуты
Можно здесь об этом почитать.
Yandex
Объявления
28.11.2013, 19:08     Самопроизвольное добавление чисел
Ответ Создать тему
Опции темы

Текущее время: 13:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru