Ver Mensaje Individual
  #3 (permalink)  
Antiguo 20/09/2010, 22:50
slash_x
 
Fecha de Ingreso: septiembre-2010
Mensajes: 4
Antigüedad: 14 años, 3 meses
Puntos: 0
Pregunta Respuesta: Ayuda¡¡¡con programas

Cita:
Iniciado por sam90 Ver Mensaje
no es complicado, como cada caracter representa un numero a cada caracter le restas el '0' y ahi tenes el valor del digito. Ejemplo

'5' - '0' = 5
'2' - '0' = 2

Luego aplicas simple matematica. Ejemplo

2345 = 2 x 1000 + 3 * 100 + 4 * 10 + 5

Osea que de forma generica tenes multiplicar cada numero por un multiplo de 10. Pero como hacemos esto rapido en una pasada. Pues nos valemos de la propiedad distributiva del producto con respecto de la suma.

2345 = 2 x 1000 + 3 * 100 + 4 * 10 + 5 = (2 * 100+ 3 * 10 + 4) * 10 + 5

Fijate, si suponemos que en la variable numero, tenemos hasta un digito menos, simplemente hay que multiplicarlo por diez y sumar el nuevo numero...Concluyendo:

Código C++:
Ver original
  1. numero = 0;
  2. for(i=0;i< cadena[i] != '\0'    ,i ++) {
  3.     digito=cadena[i] - '0';
  4.     numero = numero * 10 + digito;
  5. }

Espero que te sirva, y que se entienda mi pequeña explicacion matematica!!
Gracias por ayudar pero estoy aun muy atorado, si pudiesen explicarme un poco masdetallado