Título: numero maximo permitido Publicado por: m@o_614 en 20 Febrero 2014, 22:52 pm Saludos
tengo que hacer un programa que me permita ingresarle un numero mayor a 100000000, y busque si el digito x existe en el número y cuantas veces se repite, el numero no debe de ser cadena o char, en el algoritmo ya tengo pensando como hacerlo ya que pues tienes que hacer un busqueda y eso no es la parte dificil, no necesito el codigo. El problema es que me ponen de restriccion que el usuario pueda meter el numero maximo permitido por el sistema o sea hasta que se llene el buffer y que sea a prueba de error, alguna idea de como hacer esto?? gracias Título: Re: numero maximo permitido Publicado por: amchacon en 20 Febrero 2014, 23:24 pm No veo el problema, el scanf te debería permitir hasta el número máximo del sistema.
Título: Re: numero maximo permitido Publicado por: m@o_614 en 22 Febrero 2014, 02:14 am Saludos amchacon, el código es el siguiente:
Código
y si le pido que le ingrese un numero como: 10040050, el codigo funciona correctamente y me dice, que digito desea buscar, si le digo que 0 me imprime el digito 0 se repite 5 veces pero si le ingreso un numero mas grande como: 100019860100890 el programa ya no funciona, ni siquiera me deja que le diga cual digito quiero buscar, una de las restricciones que tengo es que tengo que poder introducir numeros mayores a 100000000 pero el tipo de dato no podra ser char o cadena entonces como lo resuelvo?? gracias Título: Re: numero maximo permitido Publicado por: vangodp en 22 Febrero 2014, 03:54 am En los compiladores actuales creo que el long es lo mismo que int.
En mi ordenador ambos tienen 4 bytes. prueba con long long int numero; :rolleyes: le entra −9,223,372,036,854,775,808 a +9,223,372,036,854,775,807 o 0 a 18,446,744,073,709,551,615 una burrada de numero XDD de 0 a a mas de 18 trillones. 9223372036854775807 VS 100019860100890 y si no usas negativos pues: 18,446,744,073,709,551,615 100,019,860,100,890 Creo que le supera un poquito XD :silbar: si quieres algo mas largo tomaXD: http://www.ginac.de/CLN/cln.html "Personalmente he usado numeros con + de 3000 digitos sin ningún problema." :o Fuente: http://clan-destino42.blogspot.com.es/2011/01/numeros-grandes-en-c.html ¿Lo de arriba se puede hacer? No se es que me suena a coña XD Mas números que eso solo un agujero negro. jajaj Título: Re: numero maximo permitido Publicado por: rir3760 en 22 Febrero 2014, 17:01 pm En los compiladores actuales creo que el long es lo mismo que int. No necesariamente. Las únicas dos garantías son: 1) El tipo int es menor o igual al tipo long y 2) El tipo long se compone por al menos 32 bits.una de las restricciones que tengo es que tengo que poder introducir numeros mayores a 100000000 pero el tipo de dato no podra ser char o cadena entonces como lo resuelvo?? Verificas que el resultado de "cin >> variable" sea true y que el resto de la linea solo consista de espacio blanco. Por ejemplo:Código Ello te indicara si ocurre un error pero nada mas, para el caso es mejor leer una linea de texto y verificarla con strtol, strtoll, etc. ya que ellas permiten conocer cual fue el error (por ejemplo un numero fuera del rango valido). Un saludo Título: Re: numero maximo permitido Publicado por: vangodp en 22 Febrero 2014, 23:32 pm ¿Y se puede guardar un numero tan largo como el que dijo 3000 dígitos?
Me parece desnecesario ademas de coña XD ¿Para que un numero de 3000 dígitos?Este pavo flipa en colores creo. :silbar: Sobre lo de los bits aun tengo que afinar XD Por que a pesar de saber que a mas bits mas cosas puedes representar, no se muy bien como funciona eso. |