Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
0 / 0 / 0
Регистрация: 20.01.2014
Сообщений: 5
1

Нужно исправить ошибку

22.01.2014, 18:49. Показов 396. Ответов 2
Метки нет (Все метки)

При переводе из 10 в 2 систему счисления выдает иногда неправильный ответ. Как это можно исправить?
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
#include <iostream>
#include <cmath>
#include <math.h>
#include <stdlib.h>
#include <stdio.h>
using namespace std;
int main()
{setlocale(0,"");
int i, b;
double c;
long double a,k;
cout<<"Введите число в 10-ой системе счисления: ";
cin >>a;
k=modf(a,&a);
   for(i=0;a>0;i++)
     {b = int(a) % 2;
        a = (a-b)/2;
        c += b * pow(10,i);}
cout<<"Вывод числа в 2-ой системе счисления: "<<c;
if(k!=0)
{cout<<".";
while (c!=0)
 {c=k*2;
if (c!=0)
cout <<int(c);
k=modf(c,&a);}
return 0;}
return 0;}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.01.2014, 18:49
Ответы с готовыми решениями:

Нужно исправить ошибку
Помогите исправить ошибку. Спасибо #include &lt;iostream&gt; #include &lt;stdlib.h&gt; #include &lt;Windows.h&gt;...

Нужно исправить ошибку
Здравствуйте уважаемые форумчане. Не молчите пожалуйста, ответьте хоть кто-нибудь. Сколько писал...

Нужно исправить ошибку
При выполнении задачи необходимо создать массив структуры(Person: Фамилия, Имя, Отчество, Адрес,...

Нужно исправить ошибку
Здравствуйте. Visual Studio ругается на 20-ю строку. Подчеркивает массив &quot;Koord&quot; и выдает такую...

__________________

Записывайтесь на профессиональные курсы C++ разработчиков
2
1127 / 786 / 232
Регистрация: 12.04.2010
Сообщений: 2,012
22.01.2014, 21:30 2
У Вас не инициализирована переменная c.
C++
1
2
3
4
5
6
7
8
9
10
double c=0.0L;
//double c;  
 
// ...
 
for(i=0;a>0;i++)
{
    // ... 
    c += b * pow(10.0L,i);
}
Для двоичных цифр лучше использовать массив char[]. Иначе для больших чисел точности типа double окажется недостаточно - см. рис.
1
Миниатюры
Нужно исправить ошибку  
1127 / 786 / 232
Регистрация: 12.04.2010
Сообщений: 2,012
22.01.2014, 21:31 3
И что получится для отрицательных чисел ( a < 0 ) ?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.01.2014, 21:31

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Нужно исправить ошибку
Ошибки Error 1 error LNK2001: unresolved external symbol &quot;public: __thiscall...

Нужно исправить ошибку
/* source: http://runnable.com/Us53wIV1TEVWAAHd/how-to-search-a-node-in-a-linked-list-for-c%2B%2B ...

нужно исправить ошибку в коде
#include &lt;iostream&gt; using namespace std; template&lt; class T &gt; void selectSort(T* arr, int SIZE) ...

Инверсия нужно исправить ошибку
#include &lt;iostream&gt; #include&lt;iomanip&gt; #include&lt;cmath&gt; using namespace std; int main() {...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.