[ Foro de C# ]

Ejercicio C#

03-Jul-2021 21:21
Juan Pablo Strack
1 Respuestas

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!!.








04-Jul-2021 01:10
Nacho Cabanes (+84)

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.)