[C con Clase] sobre interpretación de actividad 4

Armando B. VERA abvera en arnet.com.ar
Vie Jul 4 10:23:55 CEST 2008


El Jueves, 3 de Julio de 2008 22:31, Steven Davidson escribió:
> Hola Armando,
>
> Armando B. VERA wrote:
> > Hola Muchachos
> >
> > Estoy tratando de realizar las actividades propuestas en el curso
> >
> > "cursocpp" de conclase.
> >
> > He culminado el 3 y no alcanso a interpretar el 4.
>
> Antes de seguir, quisiera aclarar que para cualesquier dudas o
> inquietudes acerca de los ejercicios propuestos en el curso de C++
> deberían ser enviadas al siguiente apartado de correo-e:
> ejercicioscpp en conclase.net  Esta direccidn de correo-e también sirve
> para aceptar los ejercicios que quieras enviarnos para su corrección.
>
> Veamos las dudas.
>
> > Lo que interpreto es que se debe crear un array tipo char de nueve
> > caracteres (1 para el \'0' de fin de cadena), pero esos caracteres
> > son dígitos.
>
> Creo que es mejor aclarar dos matices:
> 1. Supongo que querías decir: "(y 1 más para el '\0'...)", y
> 2. Técnicamente, los caracteres deben representar dígitos.
>
> > Con estos caracteres debo poder realizar una suma, es decir,
> > supongamos que el entero pasado como parámetro es int parametro=234 y
> > que la cadena char
> > numero[10]={'0','5','7','0','2','8','0','9','2','\0'}, el resultado
> > de la suma debe ser:
> > numero[10]+parametro={'0','5','7','0','2','8','3','2','6','\0'}
> >
> > ¿Es esta interpretación correcta? ¿O el parámetro debe ser también
> > char?.
>
> Casi. No se trata de sumar dos números, sino de incrementar un número
> por 1. Si quieres, puedes pensar que hacemos esto:
>
> Incrementar( szNum )
> {
>    ¿'szNum' representa un número entero?
>    Sí => szNum++
>          return true;
>    No => return false;
> }
>
> > Si los supuestos son correctos entonces se debe convertir cada digito
> > de parametro dividiendo por las potencias de 10 y estraer el entero,
> > luego convertir cada digito de la cadena a entero para realizar la
> > suma y luego
> >
> > realizar la asignación a numero[10].
>
> No. No debes convertir la cadena a un valor numérico para luego hacer el
> incremento (suma), para luego convertir el resultado a la cadena de
> caracteres. Con 9 "dígitos", podrías hacer lo que propones, pero
> imagínate que en su lugar tenemos una cadena de 30 "dígitos". En este
> caso, no podrías convertir la cadena a un valor numérico, porque no
> existe un tipo de dato que pueda representar un número de 30 dígitos
> decimales.
>
> El ejercicio trata de manipular cadenas de caracteres. Por lo tanto, tu
> solución tiene que basarse en manejar cadenas para conseguir tu
> propósito. En la práctica, vas implementar el algoritmo que todos
> aprendimos en el colegio para sumar dos números enteros: suma cada
> dígito desde las unidades y ten en cuenta el acarreo.
>
>
> Espero haber aclarado las dudas.
>
> Steven

ok! Ya me parecía que no podía ser tan complejo.
Luego les enviaré mis soluciones a la  dirección ejercicioscpp en conclase.net

Gracias Steven

Armando B. VERA
abvera en arnet.com.ar







Más información sobre la lista de distribución Cconclase