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

Объясните ситуацию с integer, float и double. Выводится число на единицу меньше положенного - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Выделение целой части first/second http://www.cyberforum.ru/cpp-beginners/thread1121730.html
Уже надо ехать в универ, а я сделал чужой вариант, программа простая, но уже надо ехать. Очень надеюсь на вашу помощь, буду очень признателен. Если я правильно понимаю задачу здесь примерно 10 строчек кода. Пожалуйста помогите! Поле first - целое положительное число, числитель; поле second - целое полажительное число, знаминатель. ,Реализовать метод ipart() - выделение целой части...
C++ Перевод из pascal в Visual C++ Добрый день! Не могли бы вы помочь мне в переводе с Pascal в Visual C++? Очень нужна ваша помощь Program TAB; users crt; var a,b,h1,h2,e,y,y0,y1,y2,t,x:real; begin clrscr; writeln('Задайте концы отрезка субтабулирования:'); readln(a,b); writeln('Новый шаг таблицы:'); http://www.cyberforum.ru/cpp-beginners/thread1121725.html
Компиляция нескольких файлов C++
Здравствуйте, есть программа состоящая из 4 cpp, необходимо ее собрать, попытался собрать с помощью MinGW(взял тут http://sourceforge.net/projects/mingw/files/), но получил кучу ошибок, хотя прога написана верно(вроде), может кто подсказать как ее собрать? Спасибо, заранее.
Сортировка элементов одномерного массива C++
Привет всем, помогите составить программу. Отсортировать в порядке убывания элементы массива Е(46), расположенные до первого отрицательного его элемента.
C++ Определить функции нахождения суммы и разности векторов http://www.cyberforum.ru/cpp-beginners/thread1121686.html
Здравствуйте, помогите составить программу. Определить функции нахождения суммы и разности векторов в трехмерном пространстве. Для векторов \vec{a},\vec{b},\vec{c},\vec{d}, координаты которых заданы с клавиатуры, вычислить \vec{a}-\vec{b}+\vec{c}-\vec{d},. Параметры передавать как ссылки.
C++ Компилятор Visual C++ 2008 выдает ошибку Всем Привет! Компилятор Visual C++ 2008 выдает ошибку, помогите исправить пожалуйста. код ошибки: 1>Задача 2.cpp 1>c:\documents and settings\admin\мои документы\visual studio 2008\projects\задача 2\задача 2\задача 2.cpp(9) : error C2447: {: отсутствует заголовок функции (возможно, используется формальный список старого типа) 1>Журнал построения был сохранен в "file://c:\Documents and... подробнее

Показать сообщение отдельно
VisualNIK
 Аватар для VisualNIK
8 / 8 / 1
Регистрация: 29.10.2012
Сообщений: 168
17.03.2014, 17:58  [ТС]     Объясните ситуацию с integer, float и double. Выводится число на единицу меньше положенного
zss, там накосячил и в самом принципе программы, переделал, теперь она выглядит следующим образом:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
    system("cls");
 
    cout<<"-> Exercise 15\n\n";
 
    int n;
 
    cout<<"n = ";
    cin>>n;
 
    cout<<"\n\nNumbers = ";
 
    for(int i = 1; i <= n; i++)
    {
        int size = 10;  int num = i; double num_sq = i*i;
        
        while(int(num / 10) != 0)
        {
            num /= 10;
            size *= 10;
        }
        
        int g = ((num_sq / size) - int(num_sq / size))*size;
        
        if(i == g)
            cout<<i<<"  ";
    } 
 
    getch();
только вот не известно все ли выдаются значения...но выдает теперь из тысячи 6 чисел....да и если не сложно по аналогии какие действия происходят в формуле g = ... что куда там преобразовывается..интересно знать

Добавлено через 1 час 44 минуты
В итоге обнаружил нехватку ещё одного числа в выводе, сделал так и теперь выводит ещё пару чисел. Получилось так:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
    system("cls");
 
    cout<<"-> Exercise 15\n\n";
 
    int n;
 
    cout<<"n = ";
    cin>>n;
 
    cout<<"\n\nNumbers = ";
 
    for(int i = 1; i <= n; i++)
    {
        int size = 10;  int num = i; int num_sq = i*i;
        
        while(int(num / 10) != 0)
        {
            num /= 10;
            size *= 10;
        }
        
        int g = num_sq % size;
        
        if(i == g)
            cout<<i<<"  ";
    } 
 
    getch();
Теперь все переменные типа int, в таком случае потери точности быть не должно?
 
Текущее время: 15:14. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru