Witam, jestem w trakcie pisania funkcji do celow w.w. i juz na początku napotkałem pewien problem, który nie wiem z czego wynika i nie wiem jak mógłbym go rozwiązać:
char* Int_To_XXX(int INT, int system)
{
int value = system;
int counter = 1;
bool minus_sign = false;
if (INT < 0)
{
INT = -INT;
minus_sign = true;
counter++;
}
while (value < INT)
{
counter++;
value = value * system;
}
char *CONV = new char[counter];
cout << counter << endl;
if (minus_sign == false)
{
for (int i = counter - 1; i >= 0; i--)
{
if (INT%system < 10)
CONV[i] = INT%system + '0';
else
CONV[i] = INT%system;
INT = INT / system;
cout << CONV[i] << endl;
}
}
else
{
for (int i = counter - 1; i > 1; i--)
{
if(INT%system < 10)
CONV[i] = INT%system + '0';
else
CONV[i] = INT%system;
INT = INT / system;
}
CONV[0] = '-';
}
cout << CONV << endl;
return CONV;
}
w funkcji main:
char* test = Int_To_XXX(10, 2);
a na ekranie pokazuje sie:
http://postimg.org/image/h4wgcctgx/
Gdzie moze lezec przyczyna problemu ?
Funkcja nie jest jeszcze ukonczona - nie sa obslugiwane przypadki dla systemow 10+, ale to bez znaczenia.