Foros aprenderaprogramar.com

Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: berto en 28 de Diciembre 2015, 15:55

Título: [CCS] Obtener el numero de cifras validas de un dato y concatenar (lenguajec)
Publicado por: berto en 28 de Diciembre 2015, 15:55
Ejemplo :

dato=0009...resultado debe ser...1
dato=0025...2
dato=0109...3
dato=4830...4

También me gustaría hacer lo siguiente, no se si  tendrá  un nombre matemático yo lo desconozco.

dato1=25; dato2=109....resultado debe ser....25109 

Lo que mas me gustaría es un ejemplo de codigo o saber si hay alguna funcion en C que desempeñe esto, mas su correspondiente #libreria pero agradeceria tambiénel nombre matemático de ambas para saber que tengo que buscar.
Título: Re:[CCS] Obtener el numero de cifras validas de un dato
Publicado por: Ogramar en 29 de Diciembre 2015, 23:17
Buenas berto un valor como 0009 no es un valor numérico válido, por tanto tienes que tratarlo como una cadena. Para determinar el número válido dentro de la cadena tendrías que recorrer el array (arreglo) de caracteres que es la cadena comprobando dónde aparece el primer carácter distinto de cero. Los siguientes caracteres de la cadena se corresponderían con el valor numérico. El número de dígitos válidos sería el número de caracteres a partir del primer carácter distinto de cero.

Las bases para hacer todo esto las tienes explicadas en el curso http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=82&Itemid=210

En el segundo caso a partir de 25 y 109 obtener 25109 tienes que pensar si quieres hacerlo trabajando en modo numérico o en modo cadenas de texto. Si quieres hacerlo de forma numérica tendrás que usar matemáticas, si quieres hacerlo como cadenas de caracteres la operación se llama "concatenación".

Salu2
Título: Re:[CCS] Obtener el numero de cifras validas de un dato y concatenar (lenguajec)
Publicado por: berto en 30 de Diciembre 2015, 13:08
Gracias por el aporte pero pasar a cadenas, tratar con arrays es lo ultimo que quería yo hasta ahora no he utilizado char en ccs. Tampoco me convence algo que he visto a base de meter bucles for para concatenar enteros (por el tiempo de ejecución)

Creo que esto seria mas rápido

if (dato1>99){ multiplica=1000; }//Esto es lo mas probable que se cumpla
else { if(dato1>9) { multiplica=100; }
else { multiplica=10; } }

resultado = dato1+(dato2*multiplica);//dto2 concatenacion dato1