salve.. devo scrivere un programma che converta un numero da base 10 a base b scelta da tastiera..ho provato a fare in questo modo:

#include "util.h"

void convertiNumero(stringa s, int &num, int &base, int&riemp){

int j=-1,i=-1;
int* app=NULL;
app=new int [max-1]; //Puntatore ad array

if (app[j]<=1){ //Se il numero diviso è <=1, procedi alla stampa al contrario della stringa
stampaStringa (s, riemp); //e svuota l'array dinamico
delete [] app;
}

else{
app[-1]=num;
riemp++;
i++;
j++;
if(j==0){ //La prima volta che il ciclo viene eseguito, dividi per il numero dato da tastiera
app[j]=(app[0])/(base);
s[i]=(app[0])%(base); //Inserisci nella stringa che verrà stampata a video il resto della divisione tra interi
}

else{ //Tutte le altra volte, dividi il numero del ciclo precedente con la base e memorizza il risultato
app[j]=(app[j-1])/(base);
s[i]=(app[j-1])%(base);
}

convertiNumero (s, app[j], base, riemp); //Ricorsione: ripeti la procedura con un numero inferiore a num finquando app[j]==1

}

}

void stampaStringa (stringa s, int &riemp){

int i;

for (i=riemp+1; i>=0; i--)
cout<<s[i]<<"\t";

}



Il programma viene compilato dal dev ma dà dei caratteri strani a video.
Grazie a chiunque voglia aiutarmi.