Hola. Estoy iniciándome en la programación (Dev C++) y tengo problemas con un algoritmo que estoy haciendo, el cual no puedo dar con el error. Lo que tengo que hacer es implementar una función dígito(N,num) que me devuelva el digito N-ésimo de un número num, teniendo en cuenta que el dígito 0 es el dígito más a la derecha (el menos significativo). La función tiene que devolver -1 si el numero no tiene suficientes dígitos y también tener en cuenta si el N pueda ser un número negativo.
Acá les paso un ejemplo:
digito (0,3456), devuelve 6
digito(1, -3456) devuelve 5
digito(4, 3456) devuelve -1
Acá les muestro el código que hice:
int Digit (int N, int num)
{
int r;
for (int i=0; i<N; i++)
{
r = num%10;
num = num/10;
if (N>r)
return -1;
}
}
int main()
{
int N, num;
cout<<"Ingrese la posicion: ";
cin>>N;
cout<<"ingrese el numero a evaluar: ";
cin>>num;
cout<<"La cifra es: "<<Digit(N,num)<<endl;
system ("PAUSE");
}
Quedo a la espera de una respuesta para saber en qué me equivoqué, y desde ya, muchas gracias.
Acá les paso un ejemplo:
digito (0,3456), devuelve 6
digito(1, -3456) devuelve 5
digito(4, 3456) devuelve -1
Acá les muestro el código que hice:
int Digit (int N, int num)
{
int r;
for (int i=0; i<N; i++)
{
r = num%10;
num = num/10;
if (N>r)
return -1;
}
}
int main()
{
int N, num;
cout<<"Ingrese la posicion: ";
cin>>N;
cout<<"ingrese el numero a evaluar: ";
cin>>num;
cout<<"La cifra es: "<<Digit(N,num)<<endl;
system ("PAUSE");
}
Quedo a la espera de una respuesta para saber en qué me equivoqué, y desde ya, muchas gracias.