Какво не е наред с моя код, някой да ми помогне, моля. Това е преобразуване на десетична в двоична система. Според моя код изходът ще бъде 2 за 10, 3 за 11, но изходът винаги добавя последната стойност в края, както за 3 показва 1110, добавете предишния изход. Какво трябва да направя сега ? помогнете ми, моля?
#include<iostream>
#include<stdio.h>
using namespace std;
int main(){
long int decimalNumber,quotient;
int binaryNumber[100],i=0,j;
printf("Enter any decimal number: ");
//scanf_s("%ld",&decimalNumber);
while(scanf_s("%ld",&decimalNumber)==1)
{
quotient = decimalNumber;
while(quotient!=0){
binaryNumber[i++]= quotient % 2;
quotient = quotient / 2;
}
printf("Equivalent binary value of decimal number %d: ",decimalNumber);
for(j = i -1 ;j>= 0;j--)
printf("%d",binaryNumber[j]);
printf("\n");
printf("Enter any decimal number: ");
}
return 0;
}