Pasar de C++ a C
Hola!.
Me dirijo a ti otra vez para pedirte otro favor. Esta vez necesitaría que me pasaras a C el programa que me hiciste en C++. Quiero tenerlo en las 2 versiones, por favor. Muchas gracias una vez más.
string convert(int M, int N)
{
//create a stream used for conversion
std::stringstream out;
//if M > N
if (M < N)
{
//No need to continue: Create a new string with the result
out << M;
return string(out.str());
}
else
{
//Compute the modulo and convert it as string
out << M % N;
return convert(M/N, N) + string(out.str());
}
}
extern "C" int baseConverter(int number, int base, int newBase)
{
//Convert the input number to string
std::stringstream out;
out << number;
string s(out.str());
//convert to base 10
int conversion = 0;
int power = s.length()-1;
for ( unsigned int pos = 0; pos < s.length(); pos++)
{
char digit = s.at(pos);
conversion += atoi(&digit)*(int)pow(base, power);
power--;
}
//convert to the new base
cout << "(" << number << ")" << base << " =" << " (" << convert(conversion, newBase) << ")" << newBase << endl;
return 0;
}
Me dirijo a ti otra vez para pedirte otro favor. Esta vez necesitaría que me pasaras a C el programa que me hiciste en C++. Quiero tenerlo en las 2 versiones, por favor. Muchas gracias una vez más.
string convert(int M, int N)
{
//create a stream used for conversion
std::stringstream out;
//if M > N
if (M < N)
{
//No need to continue: Create a new string with the result
out << M;
return string(out.str());
}
else
{
//Compute the modulo and convert it as string
out << M % N;
return convert(M/N, N) + string(out.str());
}
}
extern "C" int baseConverter(int number, int base, int newBase)
{
//Convert the input number to string
std::stringstream out;
out << number;
string s(out.str());
//convert to base 10
int conversion = 0;
int power = s.length()-1;
for ( unsigned int pos = 0; pos < s.length(); pos++)
{
char digit = s.at(pos);
conversion += atoi(&digit)*(int)pow(base, power);
power--;
}
//convert to the new base
cout << "(" << number << ")" << base << " =" << " (" << convert(conversion, newBase) << ")" << newBase << endl;
return 0;
}
1 Respuesta
Respuesta de bebware
1