[ Foro de C# ]
Buenas de nuevo nacho!.
Molesto de nuevo con la siguiente duda:
Se me está haciendo imposible hacer este ejercicio:
"Un programa capaz de sumar dos números enteros muy grandes (por
ejemplo, de 30 cifras), que se deberán pedir como cadena de texto y analizar letra
a letra."
Intento analizar cifra por cifra con un bucle for, sin embargo no puedo realizar operaciones con cada cifra (por ejemplo "numero[iterador]"). Cuando intento realizar una operación con esa cifra de esta forma, me sale un numero muy elevado sin sentido:
numero[iterador] + numero[iterador] = numero sin sentido.
Intento hacerlo convirtiendo cada cifra en un numero entero, pero el resultado sigue siendo el mismo:
Convert.ToInt32(numero[iterador]) + Convert.ToInt32(numero[iterador]) = resultado sin sentido.
Es mas, si intento simplemente mostrar en pantalla el numero, tampoco se puede!:
Console.Write("{0}", Convert.ToInt32(numero[iterador]));
Eso ultimo también me muestra numeros sin sentido!.
Que puedo estar haciendo mal?. Gracias de antemano!!.
Prueba a sumar solo dos números de una cifra. Me temo que te estará sumando sus códigos ASCII. Por ejemplo, con '1'+'1' es esperable que obtengas 98,porque el código ASCII del carácter '1' es el 49.
Dos soluciones:
La sencilla es no extraer como carácter, sino como subcadena de longitud 1.
La rebuscada es no sumar letra1 + letra2 sino letra1-'0' + letra2-'0'.
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)