Título: [?]Ayuda con un ejercicio Publicado por: drk00 en 7 Julio 2011, 01:36 am Tengo que hacer un ejercicio donde tengo que convertir un entero binario a su equivalente decimal, pero se tiene que ir agregando uno por uno y cuando uso el cin automaticamente se pasa un espacio y no quiero que se pase espacio quiero que quede todo en una sola linea. tambien que no sea algo complicado de hacer que boy empezando se que se puede hacer con conio pero segun lei no lo recomiendan mucho y evito usarlo :-X :-X :-X :silbar: :silbar: :silbar: Título: Re: Una pregunta Publicado por: PiroskY en 7 Julio 2011, 04:55 am Vos queres que el usuario ingrese 101010, le de al enter, y al lado de ese numero aparezca el decimal?
Título: Re: Una pregunta Publicado por: drk00 en 7 Julio 2011, 05:22 am queria que 101010 quedara en una sola linea, pero queria ingresar el entero binario por partes con diferentes variables algo haci
Código
se veria algo haci Código y quiero que cuando se vayan poniendo los numeros se vea todo en una sola linea y no brinque espacio asi Código
Título: Re: Una pregunta Publicado por: Edu en 7 Julio 2011, 05:32 am Usas string entonces y vas haciendo var = var + nuevodato
Título: Re: Una pregunta Publicado por: drk00 en 7 Julio 2011, 05:48 am Usas string entonces y vas haciendo var = var + nuevodato este ejercicio es de un libro("Como programar en C++, el Deitel)y no creo aver visto eso todavia asi dice el ejercicio: Citar Introduzca un entero (de cuatro dígitos) que contenga sólo 0s y 1s (es decir, un entero "binario") e imprima su equivalente decimal. (Sugerencia: utilice los operadores de módulo y de división para detectar los dígitos del número "binario" uno por uno, de derecha a izquierda. Al igual que en el sistema numérico decimal, donde el dígito más a la derecha tiene un valor posicional de 1, y el siguiente dígito a la izquierda tiene un valor posicional de 10, y a continuación de 100, y a continuación de 1000, etc., en un sistema numérico binario, el dígito más a la derecha tiene un valor posicional de 1, el siguiente dígito a la derecha tiene un valor posicional de 2, y a continuación de 4 , y a continuación de 8, etc. Por lo tanto, el número decimal 234 puede ser interpretado como 4 * 1 + 3 * 10 + 2 * 100. El equivalente decimal del número 1101 binario es 1 * 1 + 0 * 2 + 1 * 4 + 1 * 8 o bien, 1 + 0 + 4 + 8, es decir 13). no se si se entienda lo que quiero hacer aunque e notado que ponen ejercicios que se resuelve con cosas que aun no se ven o se veran en el prox capitulo. Título: Re: Una pregunta Publicado por: Edu en 7 Julio 2011, 06:36 am Ah entonces es viendo como te dijieron que se haya, si 1101 es 1 * 1 + 0 * 2 + 1 * 4 + 1 * 8 entonces es porque tendrias que dar vuelta 1101 y multiplicar cada digito por 1 , el otro por 2, el otro por 4 y el ultimo por 8.
Título: Re: Una pregunta Publicado por: drk00 en 7 Julio 2011, 06:45 am si pero como separar el "entero binario"??
yo tenia pensado hacerlo asi Código
Título: Re: Una pregunta Publicado por: leogtz en 7 Julio 2011, 07:02 am "Una pregunta" no es un título muy bueno para el mensaje, va en contra de las reglas, editalo. Pon un nombre que vaya acorde a tu duda.
Título: Re: [?]Ayuda con un ejercicio Publicado por: Queta en 7 Julio 2011, 13:24 pm Puedes usar http://www.cplusplus.com/reference/clibrary/cstring/strncat/ (http://www.cplusplus.com/reference/clibrary/cstring/strncat/).
Título: Re: [?]Ayuda con un ejercicio Publicado por: PiroskY en 7 Julio 2011, 16:10 pm Yo creo que el ejercicio apunta a que hagas algo mas o menos asi:
Pedir el numero una sola vez Guardar en un entero auxiliar ese mismo numero A ese auxiliar dividirlo por 10 Al numero que te da multiplicarlo por 10 Calcular la diferencia entre el numero que guardaste y el que obtuviste Así estarías obteniendo la ultima cifra de tu numero binario Si entendés que es lo que esta pasando ahí ya tenes un punto de partida Suerte Título: Re: [?]Ayuda con un ejercicio Publicado por: rir3760 en 7 Julio 2011, 17:19 pm Me parece el enunciado es bastante claro. El punto clave para obtener la solucion exacta es como, en ese libro y hasta ese punto, almacenan las palabras leidas mediante el objeto cin, utilizando un:
A) array de caracteres. B) objeto de la clase string El algoritmo es sencillo: inicias con un acumulador en cero y, por cada digito del numero binario empezando por el mas significativo y terminando con el menos, multiplicas el acumulador por dos y sumas el digito. Por ejemplo en el caso de 1101: 1) Acumulador a 0 Un saludo Título: Re: [?]Ayuda con un ejercicio Publicado por: criskapunk en 7 Julio 2011, 18:00 pm Esto es algo que hice el otro dia. El codigo siguiente te sirve para imprimir los cuatro digitos de una variable entera, separados por un espacio.
Código Vos no tendrias que separarlos, sino multiplicarlos por su 2**n (n es la posicion del digito) correspondiente y luego sumarlos. Un saludo :) Título: Re: [?]Ayuda con un ejercicio Publicado por: drk00 en 7 Julio 2011, 21:12 pm Me parece el enunciado es bastante claro. El punto clave para obtener la solucion exacta es como, en ese libro y hasta ese punto, almacenan las palabras leidas mediante el objeto cin, utilizando un: A) array de caracteres. B) objeto de la clase string El algoritmo es sencillo: inicias con un acumulador en cero y, por cada digito del numero binario empezando por el mas significativo y terminando con el menos, multiplicas el acumulador por dos y sumas el digito. Por ejemplo en el caso de 1101: 1) Acumulador a 0 Un saludo muchas gracias esta fue la que me quedo mas clara. A ver si tengo algo de tiempo mas al rato y ponerme a hacerlo a ver como sale Gracias. Título: Re: [?]Ayuda con un ejercicio Publicado por: do-while en 7 Julio 2011, 21:43 pm ¡Buenas!
Aqui tienes el pseudocodigo: Código:
Asi lees el numero de una linea y lo transformas en decimal de un tiron. ¡Saludos! |