Помогите найти ошибку в коде C++

238
27 апреля 2017, 16:22

Код записывает в массив остатки от деления, что бы перевести число в двоичную систему. Но необходимо "перевернуть" числа.

while (n!=0) 
{ 
    for (int i=0; i<n; i++) 
    { 
        bin_n[i]=n%2; 
        n = n/2;  
        kol=kol+1; 
        cout<<bin_n[i]; 
    } 
}

Если выводить массив после цикла, то он выводится не правильно.

for (int i=0; i<kol; i++) 
{
     cout<<bin_n[i];
}
Answer 1

Если честно, не очень понимаю, зачем вам вообще внутренний цикл

kol = 0;
while (n!=0) 
{ 
        bin_n[kol]=n%2; 
        n = n/2;  
        cout<<bin_n[kol];
        kol++;  
}

А еще, чтобы при выводе перевернуть число стоит его выводить не подряд

for (int i=kol-1; i>=0; i--) 
{
     cout<<bin_n[i];
}
READ ALSO
Как сделать выход из бесконечного цикла c++?

Как сделать выход из бесконечного цикла c++?

Программа делит число a на число b, если получившаяся дробь является бесконечной программа должна вывести на экран NO, иначе вывести получившуюся...

195
C++ Получить уникальные ID/серийники железа

C++ Получить уникальные ID/серийники железа

Всем приветВ С++ нужно получить серийники как минимум ещё 1-2 железяк, серийник тома жестака я уже получил через этот код:

251
Не работает генератор виджета [требует правки]

Не работает генератор виджета [требует правки]

В общем есть болванка для генератора виджетовПервые 3 поля на сайте работают, 4 поле нет (periodText), в это поле пишется название поля с календарем

164
Организация routes в node.js(Express)

Организация routes в node.js(Express)

Как правильно организовать маршрутизацию в приложении ? Структура (приблизительно):

226