moh.mon
چهارشنبه 15 خرداد 1387, 21:38 عصر
من یه برنامه نوشتم که یه عدد رو به مبنای 2میبره ولی مشکل اینجاست که این برنامه وقتی رشته ی مورد نظر رو چاپ میکنه چند تا کاراکتر اضافی هم بعدش چاپ میکنه.
لطفا بگین مشکل کجاست.(لطفا تابع جدید تعریف نکنین فقط بگین مشکل کجاست)
#include <iostream.h>
#include <conio.h>
#include <math.h>
#include <stdio.h>
char* dectobin(int dec)
{
int i , x , s[30] , j=0;
char* binary;
do
{
x= dec % 2;
s[j] = x;
dec = dec/2;
j++;
}while (dec!=0);
binary = new char[j];
for (i=j-1 ; i>=0 ; i--)
{
binary[j-1-i]= (char)(s[i] + 48);
}
binary[j]=(char)("/0");
return binary;
}
int main()
{
char* m=dectobin(9);
cout<<m;
getch();
return 0;
}
لطفا بگین مشکل کجاست.(لطفا تابع جدید تعریف نکنین فقط بگین مشکل کجاست)
#include <iostream.h>
#include <conio.h>
#include <math.h>
#include <stdio.h>
char* dectobin(int dec)
{
int i , x , s[30] , j=0;
char* binary;
do
{
x= dec % 2;
s[j] = x;
dec = dec/2;
j++;
}while (dec!=0);
binary = new char[j];
for (i=j-1 ; i>=0 ; i--)
{
binary[j-1-i]= (char)(s[i] + 48);
}
binary[j]=(char)("/0");
return binary;
}
int main()
{
char* m=dectobin(9);
cout<<m;
getch();
return 0;
}