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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Desmut
0 / 0 / 0
Регистрация: 20.01.2014
Сообщений: 5
#1

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

22.01.2014, 18:49. Просмотров 259. Ответов 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;}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.01.2014, 18:49     Нужно исправить ошибку
Посмотрите здесь:

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

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

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

Нужно исправить ошибку - C++
Ошибки Error 1 error LNK2001: unresolved external symbol &quot;public: __thiscall Exceptions::OutOfBound::OutOfBound(int)&quot;...

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

Потоки. Нужно исправить ошибку - C++
#include &lt;stdio.h&gt; #include &lt;iomanip.h&gt; #include &lt;conio.h&gt; #include&lt;stdlib.h&gt; #include&lt;string.h&gt; #include&lt;iostream.h&gt; #include...

Нужно найти ошибку и исправить ее - C++
Нужно сделать: Создать объект типа стек. Перегрузить оператор,!=, ==, &gt;, &lt;, &gt;=, &lt;=,++,--,+ Ввод, вывод в поток. Уже сделано: ...

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

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

Нужно исправить ошибку в коде! - C++
Вот задание: Создать приложение для вычисления значения арифметического выражения, которое может включать в себя действительные числа, а...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Alex5
1049 / 712 / 105
Регистрация: 12.04.2010
Сообщений: 1,798
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 окажется недостаточно - см. рис.
Миниатюры
Нужно исправить ошибку  
Alex5
1049 / 712 / 105
Регистрация: 12.04.2010
Сообщений: 1,798
22.01.2014, 21:31     Нужно исправить ошибку #3
И что получится для отрицательных чисел ( a < 0 ) ?
Ответ Создать тему
Опции темы

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