• Viernes 15 de Noviembre de 2024, 02:59

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - rchamy

Páginas: [1]
1
C/C++ / Re: Problema en C ayudiaaa porfaaa
« en: Domingo 21 de Septiembre de 2008, 17:52 »
Muchas gracias!
se pasaron, y si no di una respuesta antes era porque estuve demasiado ocupado, pero en cuanto tuve tiempo lo hice
me ayudo muchos sus comentarios y respuestas para hacer funcionar mi codigo
muchas gracias!!
Adios

2
C/C++ / Re: Problema en C ayudiaaa porfaaa
« en: Martes 16 de Septiembre de 2008, 01:06 »
Muchas gracias, estoy en eso, tambien estaba tratando de convertir de decimal a binario, con un arreglo, pero me da un error
te mando el codigo
Código: Text
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int main()
  4. {
  5. int a[15],n,c=0,j=14;
  6.  
  7.  
  8. printf("ingrese numero decimaln");
  9. scanf("%d",&n);
  10. for(c=0;c<=14;c++)
  11. {
  12. a[c]=n%2;
  13. n=n/2;
  14. }
  15. printf("Su numero binario es:n");
  16. for(j=14;j>=0;j--)
  17. {
  18. printf("%d",a[j]);
  19. }
  20.  
  21. system("PAUSE");
  22. return EXIT_SUCCESS;
  23. }
  24.  
  25.  

y este es el error que me da:
por ejemplo si coloco el numero 10 deberia salir 1010 base2
pero me sale 000000000001010
no se como quitar los ceros del principio
ojala puedas ayudarme

3
C/C++ / Re: Problema en C ayudiaaa porfaaa
« en: Lunes 15 de Septiembre de 2008, 23:12 »
Citar
A ver, no estoy siguiendo el hilo por completo, pero la mejor forma de hacer todo lo que quieres es trabajar con cadenas. Es decir, cuando tu preguntes por un número binario, acepta una cadena que sólo tenga unos y ceros. Luego esa cadena la puedes convertir al tipo adecuado mediante las funcionoes de C y C++ como atoi (ASCII to Integer), etc.

Lo mismo cuando sean otros números en otras bases. Cuando tengas la cadena, la recorres a ver si contiene dígitos válidos (por ejemplo, no aceptar nada mayor a 7 cuando pidas una cadena en octal, etc).

Y si tienes ganas, defines un formato, por ejemplo: "101001b2" sería un número en base 2, "877AF3b16" en hexadecimal, etc. E incluso podrías adelantarte y hacer un parser matemático completo. Por ejemplo: "toDec(10100b2)". y cosas así.

ahora si que mori  :blink:  entendi si es que la mitad de lo que me dijiste, disculpa en todo caso, tengo toda la intencion de aprender y pongo todo de mi parte, estoy averiguando por internet, manuales, profesores, amigos y todo lo que pueda.
L o que pasa es que estoy recien empezando en C, y no se hacer todo lo que me dijiste, lo que me pidieron fue usar ciclos para las transformaciones, y para eso necesito separar el numero ingresado por digitos
porfavor ayudenme, estoy realmente perdido, pero el esfuerzo lo estoy haciendo
agradezco toda su ayuda, a los dos y al que responda el tema

4
C/C++ / Re: Problema en C ayudiaaa porfaaa
« en: Lunes 15 de Septiembre de 2008, 21:33 »
Gracias por responderme, de verdad agradezco tu ayuda...
ahora, para explicarme mejor, necesito sumar, dividir, multiplicar, restar y potenciar numeros reales, pero las conversiones deben ser enteras.
Mi problema esta en que si me ingresan un numero, por ejemplo en la conversion de binario a decimal, seria algo como esto:
Ingrese numero binario: 0101
Su numero en decimal es: y el numero

Pero...como tomo esos 0101 de a uno???
porque primero necesito el 1, despues el 0 y asi sucesivamente, y lo que me tomaria ahi seria el 0101 como un solo número...no se si me entiendas, es complicado,porque no quiero que tenga que presionar Intro entre cada dígito, y como estoy recien empezando no conozco ningún comando  para hacer lo que deseo.
Ojala puedas ayudarme, de verdad te agradezco la preocupación.
Aca te dejo el codigo un poco modificado pra empezar a hacer las conversiones, le falta mucho si, pero es la idea
Código: Text
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main()
  5. {
  6. int op,c=1,n3,conver;
  7. float n,n2,result,mult;
  8. char r='n';
  9.  
  10. printf("tt----CALCULADORA----n");
  11. do{
  12. printf("ttt----n");
  13. printf("tttMENUnn");
  14. printf("1=Sumartt7= Dec-->Bint13=Oct-->Binn");
  15. printf("2=Restart8= Dec-->Octt14=Oct=Decn");
  16. printf("3=Multiplicart9= Dec-->Hext15=Oct-->Hexn");
  17. printf("4=Dividirt10=Bin-->Dect16=Hex-->Binn");
  18. printf("5=Potenciat11=Bin-->Octt17=Hex-->Decn");
  19. printf("6=SALIRtt12=Bin-->Hext18=Hex-->Octn");
  20. printf("tt----------------n");
  21. printf("ttElija su opcion:");
  22. scanf("%i",&op);
  23.  
  24.  
  25. switch(op)
  26.   {
  27. case 1:
  28.    printf("Ingrese primer numero:");scanf("%f",&n);
  29.    printf("Ingrese segundo numero:");scanf("%f",&n2);
  30.    result=n+n2;
  31.    printf("Resultado:%.fn",result);
  32.    r='s';
  33.     break;
  34. case 2:
  35.    printf("Ingrese primer numero:");scanf("%f",&n);
  36.    printf("Ingrese segundo numero:");scanf("%f",&n2);
  37.    result=n-n2;
  38.    printf("Resultado:%.fn",result);
  39.    r='s';
  40.     break;
  41. case 3:
  42.    printf("Ingrese primer numero:");scanf("%f",&n);
  43.    printf("Ingrese segundo numero:");scanf("%f",&n2);
  44.    result=n*n2;
  45.    printf("Resultado:%.fn",result);
  46.    r='s';
  47.     break;
  48. case 4:
  49.    printf("Ingrese primer numero:");scanf("%f",&n);
  50.    printf("Ingrese segundo numero:");scanf("%f",&n2);
  51.    result=n/n2;
  52.    printf("Resultado:%.2f",result);
  53.    r='s';
  54.     break;
  55. case 5:
  56. result=1;
  57. printf("Ingrese numero base:");scanf("%f",&n);
  58.    printf("Elevado a:");scanf("%f",&n2);
  59.    for(c=1;c<=n2;c++){
  60.    result=result*n;
  61.  
  62.    }
  63.    printf("Resultado:%.f",result);
  64.    r='s';
  65.     break;
  66. case 6:
  67.    printf("Graciasn");
  68.    r='n';
  69.     break;
  70. case 7: //Esto me falta terminar, todos los otros case, pero necesito eso que te dije arriba para ver como lo puedo hacer
  71.    printf("Ingrese numero:");
  72.    scanf("%i",n3);
  73.  
  74.  
  75. default:
  76.    printf("Opcion erronea, vuelva a intentarlon");
  77.    r='s';
  78.   }
  79. }while(r=='s');
  80.  
  81. system("PAUSE");
  82.  
  83. return EXIT_SUCCESS;
  84. }
  85.  
  86.  

5
C/C++ / Re: Problema en C ayudiaaa porfaaa
« en: Lunes 15 de Septiembre de 2008, 10:01 »
los numeros son enteros, le coloque float por lo anterior(division, multiplicacion, suma, resta, etc) pero las conversiones son enteras
gracias por responder tan rapido  :rolleyes:
ojala puedas ayudarme

6
C/C++ / Problema en C ayudiaaa porfaaa
« en: Lunes 15 de Septiembre de 2008, 08:43 »
Holaaa, soy nuevo en el foro, y me inscribi porq me lo recomendaron,espero que me puedan ayudar, necesito estu urgente
me pidieorn una calculadora, que haga lo basico (sumar, restar, multiplicar, dividir y potenciar ), solo dos digitos(ejemplo sumar: 1+1=2)
pero tambien me piden que convierta numeros
dec--->bin
dec--->oct
dec--->hex
bin--->dec
bin--->oct
bin--->hex
oct--->dec
oct--->bin
oct--->hex
hex--->oct
hex--->bin
hex--->dec

y aqui es donde muero  :wacko:  , no se, ni se me ocurre como hacerlo, tiene que ser con ciclos, no con librerias, si pueden ayudarme se los agradeceria mucho
de antemano muchas gracias aaa!! coloco el codigo de lo que he hecho, por cualquier ayudita que me hagan o recomendacion

Código: Text
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main()
  5. {
  6. int op,c=1;
  7. float n,n2,result,mult;
  8. char r='n';
  9.  
  10. printf("tt----CALCULADORA----n");
  11. do{
  12. printf("tt----n");
  13. printf("ttMENUn");
  14. printf("t1=Sumarnt2=Restarnt3=Multiplicarnt4=Dividirnt5=Potenciant6=SALIRn");
  15. printf("tElija su opcion:");
  16. scanf("%i",&op);
  17. switch(op)
  18.   {
  19. case 1:
  20.    printf("Ingrese primer numero:");scanf("%f",&n);
  21.    printf("Ingrese segundo numero:");scanf("%f",&n2);
  22.    result=n+n2;
  23.    printf("Resultado:%.fn",result);
  24.    r='s';
  25.     break;
  26. case 2:
  27.    printf("Ingrese primer numero:");scanf("%f",&n);
  28.    printf("Ingrese segundo numero:");scanf("%f",&n2);
  29.    result=n-n2;
  30.    printf("Resultado:%.fn",result);
  31.    r='s';
  32.     break;
  33. case 3:
  34.    printf("Ingrese primer numero:");scanf("%f",&n);
  35.    printf("Ingrese segundo numero:");scanf("%f",&n2);
  36.    result=n*n2;
  37.    printf("Resultado:%.fn",result);
  38.    r='s';
  39.     break;
  40. case 4:
  41.    printf("Ingrese primer numero:");scanf("%f",&n);
  42.    printf("Ingrese segundo numero:");scanf("%f",&n2);
  43.    result=n/n2;
  44.    printf("Resultado:%.2f",result);
  45.    r='s';
  46.     break;
  47. case 5:
  48. result=1;  
  49. printf("Ingrese numero base:");scanf("%f",&n);
  50.    printf("Elevado a:");scanf("%f",&n2);
  51.    for(c=1;c<=n2;c++){
  52.    result=result*n;
  53.  
  54.    }
  55.    printf("Resultado:%.f",result);
  56.    r='s';
  57.     break;
  58. case 6:
  59.    printf("Graciasn");
  60.    r='n';
  61.     break;
  62. default:
  63.    printf("Opcion erronea, vuelva a intentarlon");
  64.    r='s';
  65.   }
  66. }while(r=='s');
  67.  
  68.  
  69. return EXIT_SUCCESS;
  70. }
  71.  
  72.  
  73.  
  74.  
  75.  
  76.  
  77.  

Páginas: [1]