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

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


  Mostrar Mensajes
Páginas: 1 ... 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 [28] 29 30 31 32 33 34 35 36 37
271  Programación / Programación C/C++ / Re: Establecer la cantidad de dígitos a la derecha de la coma [lenguaje C] en: 9 Enero 2016, 16:49 pm
Hola MAFUS.
Debo suponer que estabas apurado (¿...?), ese post lo di de alta yo y además son cosas distintas, caso contrario lo ubiera continuado.-

Saludos.
272  Programación / Programación C/C++ / [Solucionado] Establecer la cantidad de dígitos a la derecha de la coma [C] en: 9 Enero 2016, 15:34 pm
Hola.
El programa que muestro a continuación lo que hace es separar los dígitos que se encuentran a la izquierda de la coma y los que se encuentran a la derecha, o sea, la parte entera y la parte fraccionaria de una variable double, hasta hay todo bien, el error lo tengo cuando el bucle for no coincide con la cantidad de dígitos fraccionarios.-
Alguien me puede decir si es posible establecer cuantos dígitos ha ingresado el operador a la derecha de la coma, he intentado por todos los medios a mi alcance (lectura y búsqueda en la web) y no pude lograrlo.-

Código
  1. #include <stdio.h>
  2. #include <float.h>
  3.  
  4. int main( void ){
  5. double numero , decimal;
  6. int entero, x = 1, ok, ch;
  7.  
  8. do{
  9. printf("\n Ingrese un numero con decimales...: ");
  10. ok = scanf( "%lf", &numero ) == 1 && numero > 0.00 && numero <= DBL_MAX;
  11. while ((ch = getchar()) != EOF && ch != '\n');
  12. }while(!ok);
  13.  
  14. entero = (int)numero;
  15. decimal = numero - entero;
  16.  
  17. while(x <= 4 ){
  18. decimal  *=10;
  19. x++;
  20. }
  21.  
  22. printf("\n La parte fraccionaria..:%g\n", decimal);
  23.  
  24. return 0;
  25. }

Desde ya muchas gracias
Saludos
273  Programación / Programación C/C++ / Re: [Súper solucionado] Separar parte decimal y parte fraccionaria en lenguaje C. en: 5 Enero 2016, 18:10 pm
Hola.

Código
  1. #include<stdio.h>
  2.  
  3. int main( void ){
  4. double numero = 12.09;
  5. int entero = numero, x = 1;
  6. double decimal = numero - entero;
  7.  
  8. printf("\n %g\n", decimal);
  9.  
  10. while(x <= 2 ){
  11. decimal  *=10;
  12. x++;
  13. }
  14.  
  15. printf("\n La parte fraccionaria..:%g\n", decimal);
  16.  
  17. return 0;
  18. }

Saludos.
Daniel
274  Programación / Programación C/C++ / Re: Separar parte decimal y parte fraccionaria en lenguaje C. en: 4 Enero 2016, 20:47 pm
Hola, gente.
MAFUS, gracias por ocuparte, el ejemplo de user-marcos funciona a la perfección y es en parte lo que proponías, en cuanto a hacerlo en un papel ya lo hice y lo quiero aplicar al código de engel lex pero todavía no lo logro.
Citar
Qué ocurre si el número original es entero,

ya lo probé y da como parte fraccionaria:cero(correcto)
Citar
Que ocurre si tiene infinitos decimales
me parece que esto se soluciona con: #define NUMERO_DECIMALES 4.-
Por último, decirte que voy a probar el código que posteaste se lo ve interesante.- 
Noob_boy, me gustaría que postearas algún ejemplo de lo que propones, te imaginaras que con 63 años ya no me acuerdo de logaritmo, desde ya muchas gracias.-

Saludos.
Daniel
275  Programación / Programación C/C++ / Re: Separar parte decimal y parte fraccionaria en lenguaje C. en: 4 Enero 2016, 13:22 pm
Hola.
Tengo consultas para los 4, pero no las voy a poner todas juntas, solo que el código de user-marcos me da correcto como debe ser la parte entera pero la parte fraccionaria da como resultado: 0.598000. Lo que necesito es que dé: 598 sin cero a la izquierda ni el punto o sea un número entero.-

Código:
#include <stdio.h>
#include <windows.h>
 
int main(void){
float f = 12.598;
int entero = (int)f;
float decimal = f - entero;

system( "cls" );
printf("\n parte entera   : %d",entero);
printf("\n parte decimal : %f",decimal);

return 0;
}

engel lex te dejo el código como yo lo interprete, la lógica es la correcta, pero no sé qué pasa el resultado de la parte fraccionaria no es la esperada:12300015.000000, voy a hacer algunas prácticas para intentar que de el resultado que yo necesito.-

Código:
#include <stdio.h>
#include <windows.h>
 
int main(void){
float numero = 12.123;
int entero = numero;
numero -= entero;
 
while((numero - (int)numero) != 0){
numero  *=10;
}

system( "cls" );
printf("\n parte entera   : %d", entero);
printf("\n parte decimal : %f", numero);

return 0;
}

Por el momento es todo, luego les hago la consulta a los otros 2 foristas.-

Me es imposible utilizar las etiquetas GeSHi, no sé que pasa.-

Saludos.
Daniel
276  Programación / Programación C/C++ / Re: Separar parte decimal y parte fraccionaria en lenguaje C. en: 4 Enero 2016, 03:54 am
Hola 0xFer.
Gracias por ocuparte, lo que vos propones daría 12345 y lo que necesito es:
entero   = 12
fraccion = 345
Ya encontré una manera solo que no descubro cuál es la condición para finalizar el while, no voy a saber si la parte fraccionaria tiene 1,2,3,10 dígitos.-

while( a <= 2){
   parte_decimal  *=10;
   a++;
}

Saludos.
Daniel
277  Programación / Programación C/C++ / [Súper solucionado] Separar parte decimal y parte fraccionaria en lenguaje C. en: 4 Enero 2016, 02:10 am
Hola a todos.
Bueno como el enunciado lo dice es lo que quiero hacer, lo que pasa es que la parte fraccionaria no sale limpia como yo deseo, o sea, el programa que expongo a continuación la parte fraccionaria da como resultado 0.345000 y lo que necesito es 345000 a secas sin el cero y el punto, hay alguna manera de lograrlo.-

#include <stdio.h>
#include <windows.h>
 
int main(void){
   float numero = 12.345;
   int parte_entera;
   double parte_decimal;   
   
   parte_entera = numero/1;
   parte_decimal = numero-parte_entera;
   
   system( "cls" );   
   printf( "\n La parte entera   %d", parte_entera );
   printf( "\n La parte decimal  %f", parte_decimal );
   
   return 0;
}

Desde ya muchas gracia y un abrazo.
Daniel
278  Programación / Programación C/C++ / Re: Salir de un bucle while sin pulsar Ctrl + d [getchar -Lenguaje C] en: 30 Noviembre 2015, 03:09 am
Hola.
vaya manera de leer, pensar, practicar y consultar, al fin encontré una aparente solución, digo aparente porque todavía desconozco si es portable.-

Código
  1. while( c != '\n'){
  2.             .......................
  3.             .......................
  4. }

Saludos.
Daniel
279  Programación / Programación C/C++ / Salir de un bucle while sin pulsar Ctrl + d [getchar -Lenguaje C] en: 29 Noviembre 2015, 15:31 pm
Hola a todos y que tengan un muy buen día,

Código
  1. #include <stdio.h>
  2.  
  3. int main(int argc, char **argv){
  4. int c;
  5.  
  6. printf("\n Para finalizar ==> Ctrl + d (linux) == Ctrl + c (Windows)");
  7. printf("\n\n Por favor introduzca una numero entero...: ");
  8.  
  9. while(EOF != (c = getchar())){
  10. if( c >= 48 && c <= 57 )
  11. putchar(c);
  12. }
  13.  
  14. printf("\n EOF == %d\n", EOF);
  15.  
  16. return 0;
  17. }

Creo que no es necesario que comente demasiado sobre lo que quiero lograr que es finalizar el bucle de una forma autómatica sin tener que apretar Ctrl + d, tengo muchas horas leyendo y practicando sobre el tema pero no logro solucionarlo,-

Saludos.
Daniel
280  Programación / Programación C/C++ / Re: Lenguaje C:apuntador a arreglo de enteros y arreglo de apuntadores a enteros. en: 27 Noviembre 2015, 12:59 pm
Hola Coper.
Muchas gracias por ocuparte, que bien explicado, me queda todo claro y espero contar con tu ayuda toda vez que exponga mis dudas, hago este pedido porque los grandes genios históricos que ayudaban en este foro parecen que han desaparecido todos.-

Saludos.
Daniel
Páginas: 1 ... 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 [28] 29 30 31 32 33 34 35 36 37
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines