01/10/2018, 16:10
Đọc từ file số n và phân tích thành dãy nhị phân
Vấn đề của mình là mình thật sự ko hiểu kiểu trả về của doinhiphan là char* nhưng sau khi return thì in ra sai. Nhưng nếu trong while(n!=0) mình cho xuất str[i] thì lại chính xác. Và đây là code của mình . Mong nhận được sự trợ giúp từ mọi người ạ.
#include <iostream>
#include <algorithm>
#include <fstream>
using namespace std;
char *doinhiphan(long n)
{
char *str;
str=new char [200];
int i=0;
while (n!=0)
{
if (n%2==0)
{
str[i]='0';
}
else
str[i]='1';
n=n/2;
i++;
}
str[i]=NULL;
char res[200];
for (int j=i-1;j>=0;j--)
{
res[i-j-1]=str[j];
}
delete(str);
res[i]='';
return str;
}
void doctep(long &n)
{
fstream f;
f.open("matran.txt",ios::in);
f >> n;
f.close();
}
int main()
{
long n;
doctep(n);
cout << doinhiphan(n);
}
Bài liên quan
Hi Đỗ Nam
Mình nhầm .
bạn thử test với return res hộ mình với @@
Oh oh . Mình cảm ơn @@