elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse)
| | |-+  Descomponer en unidades
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Descomponer en unidades  (Leído 342 veces)
85

Desconectado Desconectado

Mensajes: 205



Ver Perfil WWW
Descomponer en unidades
« en: 30 Marzo 2013, 12:31 »

Hola,
hice un programita para que muestre un número que se descompone en unidades. Tiene diferentes formas de mostrarlo, inclusive en orden ascendente o descendente.
Si quieren mostrar sus formas de hacerlo, muy bien,  >:D
Código
  1.  
  2. //
  3. // By 85
  4. // elhacker.net
  5. // etalking.com.ar
  6. // boyscout_etk@hotmail.com
  7. // 2013
  8.  
  9. ////////////////////////////////////////////////////////////////////////////////////////////////
  10.  
  11. #pragma warning(disable: 4244)
  12. #pragma comment(lib, "winmm.lib")
  13. #include<windows.h>
  14. #include<stdio.h>
  15. #include<stdlib.h>
  16. #include<math.h>
  17.  
  18. ////////////////////////////////////////////////////////////////////////////////////////////////
  19.  
  20. #define ASC 0
  21. #define DESC 1
  22. #define ORDER ASC
  23.  
  24. double ServerTime;
  25. #define VERSION "0.1"
  26.  
  27. ////////////////////////////////////////////////////////////////////////////////////////////////
  28.  
  29. __forceinline Cifras(int iNm){
  30.  
  31. int cifras = 0;
  32. for(int copia = abs(iNm), exnum=1;;){
  33.  
  34. if(exnum <= copia)
  35. {
  36. exnum = exnum*10;
  37. cifras++;
  38. }
  39. else
  40. {
  41. break;
  42. }
  43. }
  44. return cifras;
  45. }
  46.  
  47. ////////////////////////////////////////////////////////////////////////////////////////////////
  48.  
  49. void ListarUnidades(int iNm, int iModo){
  50.  
  51. int cifras = Cifras(iNm);
  52. //printf("cifras %d\n", cifras);
  53. //system("pause");
  54.  
  55. if(iModo!=0) //ASC
  56. {
  57. for(int i=(cifras-1), X=1; i>=0; i--){
  58.  
  59. printf("%d\n", ((iNm)/X)%10);
  60. X=(X*10);
  61. }
  62. }
  63. else //DESC
  64. {
  65. for(int j=0, Y= (int)pow(10,(cifras-1)); j<cifras; j++){
  66.  
  67. printf("%d\n", ((iNm)/Y)%10);
  68. Y=(Y/10);
  69. }
  70. }
  71. putchar("\n"[0]);
  72. }
  73.  
  74. ////////////////////////////////////////////////////////////////////////////////////////////////
  75.  
  76. void ListarRebajados(int iNm, int iModo){
  77.  
  78. int cifras = Cifras(iNm);
  79. //printf("cifras %d\n", cifras);
  80. //system("pause");
  81.  
  82. if(iModo!=0) //ASC
  83. {
  84. for(int i=(cifras-1), X=1; i>=0; i--){
  85.  
  86. printf("%d\n", ((iNm)/X));
  87. X=(X*10);
  88. }
  89. }
  90. else //DESC
  91. {
  92. for(int j=0, Y= (int)pow(10,(cifras-1)); j<cifras; j++){
  93.  
  94. printf("%d\n", ((iNm)/Y));
  95. Y=(Y/10);
  96. }
  97. }
  98. putchar("\n"[0]);
  99. }
  100.  
  101. ////////////////////////////////////////////////////////////////////////////////////////////////
  102.  
  103. void sayver(){
  104.  
  105. char saystr[256];
  106. char key[5];
  107. key[0]=(((int)ServerTime)%10)+0x81;
  108. key[1]=((((int)ServerTime)/10)%10)+0x82;
  109. key[2]=((((int)ServerTime)/100)%10)+0x83;
  110. key[3]=((((int)ServerTime)/1000)%10)+0x84;
  111. key[4]=0;
  112. strcpy(saystr,"say \"");
  113. strcat(saystr,VERSION);
  114. strcat(saystr,key);
  115. strcat(saystr," - Coded By : cs_007 + boy_scout ");
  116. strcat(saystr,"\"\n\n\n");
  117. printf(saystr);
  118. }
  119.  
  120. ////////////////////////////////////////////////////////////////////////////////////////////////
  121.  
  122. void DescomponerEnUnidades(int num){//2012
  123.  
  124. int copia= abs(num), m = 1, cifras = 1;
  125. for(;copia>=10;copia/=10) cifras++;
  126. for(int x=0;x<(cifras-1);x++) m*=10;
  127. float v1=num;// Permite guardar decimales para cuando se divida
  128. int v2=0, v3=num;
  129. for(int i=0; i<cifras; i++){
  130.  
  131. printf("%f\n",v1);
  132. v1/=m;// Esto puede resultar en un número con decimales
  133. //printf("%f\n",v1);// Para ver el proceso XD
  134. v2=((int)v1*m);// Se opera tomando en cuenta sólo la parte entera
  135. v3-=v2;// Al número original le resta una parte del mismo
  136. m/=10;// Se rebaja el multiplicador
  137. v1=v3;// Se obtiene el número de la unidad
  138. }
  139. putchar("\n"[0]);
  140. }
  141.  
  142. ////////////////////////////////////////////////////////////////////////////////////////////////
  143.  
  144. int main(){
  145.  
  146. ServerTime = (timeGetTime()/1000);
  147. printf("ServerTime: %f\n\n",ServerTime);
  148. sayver();
  149.  
  150. ServerTime = -12345;
  151. // ServerTime = -0;
  152. // ServerTime = 0;
  153. // ServerTime = -1;
  154. // ServerTime = 12345;
  155. // ServerTime = 100000;
  156. // ServerTime = -100000;
  157.  
  158. ListarUnidades(ServerTime,ORDER);
  159. ListarRebajados(ServerTime,ORDER);
  160.  
  161. DescomponerEnUnidades(ServerTime);
  162.  
  163. system("pause");
  164. return (0);
  165. }
  166.  
  167. ////////////////////////////////////////////////////////////////////////////////////////////////
  168.  
  169.  



PROYECTO
http://www.mediafire.com/?oe3eg88zhyi5lc2


« Última modificación: 30 Marzo 2013, 13:10 por 85 » En línea

Me cerraron el Windows Live Spaces, entonces me creé un WordPress XD
http://etkboyscout.wordpress.com/
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Descomponer o factorizar un numero
Programación Visual Basic
Neobius 1 4,282 Último mensaje 20 Abril 2006, 19:14
por Robokop
[Source] Infectar unidades extraibles (pendrive), unidades de red, etc...
Programación Visual Basic
Mad Antrax 11 3,707 Último mensaje 7 Mayo 2007, 04:04
por ‭‭‭‭jackl007
Puedo descomponer un video con vb.Net? « 1 2 »
.NET
Skeletron 20 6,916 Último mensaje 31 Agosto 2009, 00:37
por Skeletron
Descomponer en factores primos
.NET
juanlulete 5 1,744 Último mensaje 7 Agosto 2012, 21:33
por Keyen Night
Descomponer una cadena
Programación Visual Basic
oscarmoal 3 473 Último mensaje 13 Diciembre 2013, 19:47
por MCKSys Argentina
Powered by SMF 1.1.19 | SMF © 2006-2008, Simple Machines