Форум программистов, компьютерный форум, киберфорум
Наши страницы

Работа с дробным числом - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ getline не читает дальше пробела http://www.cyberforum.ru/cpp-beginners/thread682858.html
И снова глупый вопрос: char **ostchar = new char; *ostchar = new char for(sch = 0; sch < n; sch++){ cin.getline(ostchar, n*2-1); for(int sch2 = 0; sch2 < n; sch2++){...
C++ с С# на С++ Здравствуйте господа! Помогите пожалуйста ... Начал изучать язык С++ ... Подскажите пожалуйста как будет выглядеть код из С# в С++ .. в чем отличия? как добавляются библиотеки ? using... http://www.cyberforum.ru/cpp-beginners/thread682849.html
начальное программирование С++ C++
Начинаю программировать на С++, дали задание написать программу, прошу помочь с кодом и пояснить какая строчка как работает, буду очень признателен. текст задания: Дана непустая...
Даны два множества чисел C++
Даны два множества чисел. Определить сумму чисел, входящих только в одно из множеств.
C++ пользователь вводит 3 произвольных числа. нужно проверить, составляют ли они геометрическую прогрессию и, если составляют, вывести на экран первые 10 http://www.cyberforum.ru/cpp-beginners/thread682821.html
помогите, пожалуйста. пользователь вводит 3 произвольных числа. нужно проверить, составляют ли они геометрическую прогрессию и, если составляют, вывести на экран первые 10 ее членов.
C++ Проверка стека на пустоту Что-то не могу понять как проверить стек на пустоту. Использую класс Stack в VS. В MSDN не нашел соотвествующего метода. Как быть? подробнее

Показать сообщение отдельно
sergey_viper
9 / 3 / 1
Регистрация: 15.04.2012
Сообщений: 185
17.12.2012, 21:05  [ТС]
Цитата Сообщение от Toshkarik Посмотреть сообщение
sergey_viper, ну я бы сделал с помощью strchr. С помощью strchr находим позицию точки.

Добавлено через 26 минут
Хотя нет. Просто проверяете сколько символов в строке, если четное, то точно не палиндром. Если не четное то начинаете сравнивать символы с начала и конца. Так же можете проверять действительно ли символы - цифры и действительно ли по середине находится точка.
Как оказалось, это задание нужно сделать без работы со строками.
Пока придерживаюсь такого алгоритма:
Вводим число н, со знаками после запятой. Разделяем его на целую и дробную части. Дробную часть выделяем через флур. И умножаем дробную часть(в отдельной переменной) и само н на 10, пока она не станет (дробная часть от н) =0.
Но тут у меня возникает проблема. По идее оно должно рано или поздно остановиться, но мой цикл становится бесконечным.Код привожу
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <math.h>
using namespace std;
 
int main()
{
    int c;
    double n;
    float d;
    cout << "Hello world!" << endl;
    cin>>n;
    c=floor(n);
    d=n-c;
    cout<<floor(d);
    while (floor(n))
    {n*=10;
    d*=10;
    cout<<d;}
    return 0;
}

Если есть более лёгкие решения, наведите пожалуйста.

Добавлено через 1 час 56 минут
up: всё ещё пробую.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru