I am studying in college and got stuck with an excercise in my book, should be simple but I insist of making life hard :p

Mission:

My code was sopoused to take a binary number with use of functions I have recently learned and mve all the digits to the right.

(the excercise actually said to take a number of 4 digits and didn;t mention wether to keep the 0 before the number or not)

Ex:

Like the number: 00101000 will become 00010100

problem:

The problem is I can't seem to find what;s wrong with the code but when I run it, it crushes (appearetnly it crushes after the first scan I tried to place a print code right after but it didn't print but crushed before) .

I didn't study yet what global parameters are, and I don;t know yet how to get the vector into the function.

And I dunno strings .

main idea:

I decided to store all numbers one digit at a time as a decimal in an integer.

I wanted to keep the the 0s before the first 1 and not make a number of 0010 into a 10...so I decided to count the 0s before the first digit of 1, and then my function will print the number of zeros +1 times the digit 0 (since I want to move all digits to the right , it adds another 0), then the function prints the number after the loop finishes printing the 0s.

my code:

```
#include <stdio.h>
void bin(int num,int count)
{
for(int i=1;i<=(count+1);i++)
printf("0");
printf("%d",(num/10));
}
void main()
{ int num=0,count=0,a;
printf("Please enter the bin number, 1 digit at a time,at the end\nenter a number different than 0 or 1\n");
do
{
scanf("%d",a);
if ((a==0)&&(num==0)) count++;
num=(num*10+a);
}
while ((a==0)||(a==1));
if(num==1) printf("the number can not b divided by 2\n");
if(num==0) printf("0/2=0\n");
if((num!=0)&&(num!=1))
bin(num,count);
}
```

the parameters:

a= the digits each time a different one.

num= the 'bin like' decimal number.

counter= for counting the number of 0s before the number.

(I placed same names in the function for they represent same values).

the function is void since it;s for printinf number of 0s and then the number inside num.

I know I could turn it into decimal devide it by 2 and back into bin but I want the hard life :P....nah actually I already started this way so I insist of finding the bug :3

If you find anything please let me know~

*Edited 7 Years Ago by UtaChan*: n/a