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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Выделение целой части first/second http://www.cyberforum.ru/cpp-beginners/thread1121730.html
Уже надо ехать в универ, а я сделал чужой вариант, программа простая, но уже надо ехать. Очень надеюсь на вашу помощь, буду очень признателен. Если я правильно понимаю задачу здесь примерно 10...
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('Задайте... 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}, координаты которых...
C++ Компилятор Visual C++ 2008 выдает ошибку Всем Привет! Компилятор Visual C++ 2008 выдает ошибку, помогите исправить пожалуйста. код ошибки: 1>Задача 2.cpp 1>c:\documents and settings\admin\мои документы\visual studio 2008\projects\задача... подробнее

Показать сообщение отдельно
VisualNIK
8 / 8 / 1
Регистрация: 29.10.2012
Сообщений: 168
17.03.2014, 17:58  [ТС]
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, в таком случае потери точности быть не должно?
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru