Foros del Web » Programación para mayores de 30 ;) » C/C++ »

[SOLUCIONADO] Convertir natural a cadena

Estas en el tema de Convertir natural a cadena en el foro de C/C++ en Foros del Web. Buenas tengo poco experiencia programando y me ha surgido una duda haciendo un programa. Necesito pasar un numero de 5 digitos ( natural ) a ...
  #1 (permalink)  
Antiguo 08/09/2015, 16:03
DCB
 
Fecha de Ingreso: septiembre-2015
Mensajes: 1
Antigüedad: 9 años, 2 meses
Puntos: 0
Pregunta Convertir natural a cadena

Buenas tengo poco experiencia programando y me ha surgido una duda haciendo un programa. Necesito pasar un numero de 5 digitos ( natural ) a cadena para luego poder acceder a el por posiciones y hacer calculos. El lenguaje que uso es c++ y se que hay funciones que sirven para hacer directamente esta conversion, pero el profesor no deja usar ese tipo de funciones y por tanto me he quedado algo atrancado... Espero que me puedan echar una mano. Gracias
  #2 (permalink)  
Antiguo 08/09/2015, 19:07
 
Fecha de Ingreso: febrero-2015
Mensajes: 404
Antigüedad: 9 años, 8 meses
Puntos: 3
Respuesta: Convertir natural a cadena

Cita:
Iniciado por DCB Ver Mensaje
Buenas tengo poco experiencia programando y me ha surgido una duda haciendo un programa. Necesito pasar un numero de 5 digitos ( natural ) a cadena para luego poder acceder a el por posiciones y hacer calculos. El lenguaje que uso es c++ y se que hay funciones que sirven para hacer directamente esta conversion, pero el profesor no deja usar ese tipo de funciones y por tanto me he quedado algo atrancado... Espero que me puedan echar una mano. Gracias
Es sencillo:
1. Obtienes el largo de la cadena y lo guardas en una variable. Llamemos la largo.
2. Empezando por el primer carácter y restandole el valor ascii del 0 y multiplicandolo por 10 elevado a la potencia del largo de la cadena menos la posición del carácter en ella obtendrás su valor numérico que almacenas en una variable numérica.
Todo esto lo haces en un bucle for y vas sumando los resultados del punto 2 y al salir tendrás su valor numérico.
  #3 (permalink)  
Antiguo 09/09/2015, 03:18
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 10 años, 1 mes
Puntos: 204
Respuesta: Convertir natural a cadena

Cita:
Iniciado por aguml Ver Mensaje
y multiplicandolo por 10 elevado a la potencia del ...
Con lo lento que es el cálculo de potencias te lo puedes ahorrar fácilmente

1. Inicialias la variable resultado a 0
2. Empiezas por el principio de la cadena
3. multiplicas 'resultado' por 10
4. coges el caracter que toque
5. le restas '0'
6. Acumulas en 'resultado' el valor de la operación anterior
7. Si hay más caraceres por procesar, saltar al paso 3

Al final del proceso has hecho una multiplicación más pero a cambio te has quitado varias operaciones de potencias.

Un saludo
  #4 (permalink)  
Antiguo 10/09/2015, 16:51
 
Fecha de Ingreso: febrero-2015
Mensajes: 404
Antigüedad: 9 años, 8 meses
Puntos: 3
Respuesta: Convertir natural a cadena

Pues si es verdad y ahora que lo dices yo lo había visto así pero a la inversa, osea dividiendo.
  #5 (permalink)  
Antiguo 10/09/2015, 17:08
 
Fecha de Ingreso: febrero-2015
Mensajes: 404
Antigüedad: 9 años, 8 meses
Puntos: 3
Respuesta: Convertir natural a cadena

Se me duplicó el mensaje, perdonen.
  #6 (permalink)  
Antiguo 11/09/2015, 00:17
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 10 años, 1 mes
Puntos: 204
Respuesta: Convertir natural a cadena

Cita:
Iniciado por aguml Ver Mensaje
Pues si es verdad y ahora que lo dices yo lo había visto así pero a la inversa, osea dividiendo.
Dividiendo es para realizar el proceso inverso, es decir, de int a string

Etiquetas: cadena, char, funcion, natural, programa
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:13.