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 ... 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 [34] 35 36 37
331  Programación / Programación C/C++ / Prioridad y asociatividad de los operadores en C. (Programa propio) en: 6 Abril 2014, 21:16 pm
Hola a todos y que tengan un muy buen día.-
Por el enunciado se darán cuenta de lo que deseo hacer, si me dejan ser prejuicio muchos dirán que ganas de complicarse por algo que el compilador de C lo efectúa perfectamente, si bien esto es cierto tengo mucha fe que este hilo me proporcionara mucho conocimiento (intuición, corazonada).-
Lo primero que deseo hacer es poner en una variable int (9 - 2) y borrarlo de la variable cadena, si bien logro extraer la cadena con un inicio correcto pero no logro el corte en el último paréntesis.-
Por último ¿lo harian de otra manera?.-     

Código
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. int main(){
  5. char cadena[100] = "3 * 5 + (9 - 2) + 5", *enc = NULL;
  6.  
  7. enc = strchr(cadena, '(');
  8.  
  9. printf("\n %s", enc);
  10.  
  11. printf("\n\n");
  12. return 0;
  13. }

Saludos y desde ya muchas gracias.
Daniel
332  Programación / Programación C/C++ / Re: Operadores, Prioridad y asociatividad en lenguaje C. en: 5 Abril 2014, 04:11 am
Hola.
Muchas gracias a los 4 me han sido de gran ayuda.

Saludos.
Daniel
333  Programación / Programación C/C++ / Operadores, Prioridad y asociatividad en lenguaje C. en: 4 Abril 2014, 02:55 am
Hola a todos y que tengan un muy buen día.-
En este caso estoy estudiando operadores, Prioridad y asociatividad y realmente estoy trabado, en el programa, la segunda sentencia logro establecer qué el resultado sea 119 (creo estar en lo correcto).-

Código
  1. #include <stdio.h>
  2.  
  3. int main(){
  4. int a = 3 + 4 *(8 * (4 - ( 9 + 3) /6)); //67
  5. int b = 4 * 3 * 5 + 8 * 4 * 2 - 5; //119
  6.  
  7. printf("\n El resultado de 3 + 4 *(8 * (4 - ( 9 + 3) /6)) es...: %d", a);
  8. printf("\n\n El resultado de 4 * 3 * 5 + 8 * 4 * 2 - 5 es........: %d", b);
  9.  
  10. printf("\n\n");
  11. return 0;
  12. }

 
Citar

  4 * 3 * 5 + 8 * 4 * 2 - 5

 4 * 3 = 12
 12 * 5 = 60

 8 * 4 = 32
 32 * 2 = 64

 64 + 60 = 124

 124 – 5 = 119


Pero la primera ni hay logro plasmar los pasos, bueno espero como siempre que me ayuden a descifrar el enigma que me tiene bastante ocupado.-
Por otro lado, quisiera saber si les parece muy difícil hacer un programa para emular el compilador, o sea, mostrar paso a paso la fórmula para llegar al resultado final, alguien lo hizo alguna vez.-   
   
Saludos.
Daniel
334  Programación / Programación C/C++ / Re: Descomponer un numero entero en lenguaje C. en: 1 Abril 2014, 20:49 pm
Hola a todos.

Citar
fgets - Leerá hasta n-1 caracteres o hasta que lea un retorno de línea (\n).
En este último caso , el carácter de retorno de línea también es leído.-

Código
  1. unsigned int descartar=0, numeroFinal=0, i=0, ok=0, longitud=11;
  2. char digitos[12] = {'\0'}, cualDescartar[3] = {'\0'};


Código
  1. fgets(digitos, longitud, stdin);

Para dejarlo en mi caso del todo claro, ¿esta es la manera correcta de declarar el array y fgets(longitud) para capturar un máximo de 10 dígitos?         

Saludos.
Daniel
335  Programación / Programación C/C++ / Re: Descomponer un numero entero en lenguaje C. en: 1 Abril 2014, 20:09 pm
Hola Ivancea99.-
Bueno no tengo nada para agregar es tal cual como dice leo, me pasa exactamente lo mismo.
Citar
EDITO: Sin intercambiar los char, sólo con declarar cualDescartar con dimensión mayor de 2 funciona
Me gustó, funciona correctamente de esta manera, espero que a alguien más le pase lo mismo para que entre todos encontremos la explicación.-
         
Saludos.
Daniel
336  Programación / Programación C/C++ / Re: Descomponer un numero entero en lenguaje C. en: 1 Abril 2014, 19:58 pm
Hola leo.-
Dios mío vaya alegrón al ser vos uno de los que me ayuda, en cuanto al caso en si no puedo creer que esto pase,  no parece tener ninguna lógica.-
         
Saludos.
Daniel
337  Programación / Programación C/C++ / Re: Descomponer un numero entero en lenguaje C. en: 1 Abril 2014, 19:23 pm
Hola a todos y que tengan un muy buen día.-
Muchas gracias eferion por la orientación, ahora el caso es que funciona pero me queda una duda que me ha hecho practicar todo un día y tuve que hacer algo muy rebuscado porque de lo contrario me desaparecía el contenido de la variable digitos, si lo desean pueden correrlo sin la variable _digitos y con ella para ver lo que pasa, por favor si alguien encuentra el porqué le agradecería me lo diga para no dar esto por terminado y desconocer el error.-
     
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <limits.h>
  4. #include <string.h>
  5.  
  6. int verifica(char ingreso[], int ok, int longitud, int maxDescartar);
  7.  
  8. int main(){
  9. unsigned int descartar=0, numeroFinal=0, i=0, ok=0, longitud=11;
  10. char digitos[12] = {'\0'}, _digitos[12] = {'\0'}, cualDescartar[2] = {'\0'};
  11.  
  12. printf("\n ---------- Programa que descompone un numero entero sin signo ----------");
  13.  
  14. do{
  15. ok=0;
  16. printf("\n\n Ingrece un numero entero sin signo [minimo 100 maximo %u].........: ", UINT_MAX);
  17. fgets(digitos, longitud, stdin);
  18. ok = verifica(digitos, ok, longitud, i);
  19. }while(ok);
  20.  
  21. printf("\n\n");
  22.  
  23. for(; digitos[i] != NULL; i++){
  24. printf(" [%d] = %c \n", i, digitos[i]);
  25. }
  26.  
  27. do{
  28. longitud=2;
  29. ok=0;
  30. printf("\n\n Indique con un entero sin signo del [0] al [%d] que numero desea descartar..: ", i-1);
  31. fgets(cualDescartar, longitud, stdin);
  32. ok = verifica(cualDescartar, ok, longitud, i);
  33. }while(ok);
  34.  
  35. descartar = atoi(cualDescartar);
  36.  
  37. for(i=descartar; digitos[i] != NULL; i++){
  38. digitos[i] = digitos[i+1];
  39. }
  40. numeroFinal = atoi(digitos);
  41. printf("\n\n El numero final es = %d", numeroFinal);
  42.  
  43. printf("\n\n");
  44. return 0;
  45. }
  46.  
  47.  
  48. int verifica(char ingreso[], int ok, int longitud, int maxDescartar){
  49. long long temp=0, auxiliar=0;
  50. int ch=0, i=0, ingresoInt=0;
  51. char *p=NULL;
  52.  
  53. if((p=strchr(ingreso, '\n'))){
  54. *p='\0';
  55. }
  56. else{
  57. ingreso[longitud] = '\0';
  58. while((ch = getchar()) !='\n' && ch!=EOF);
  59. }
  60.  
  61. for(; ingreso[i] != NULL; i++){
  62. if(ingreso[i] <= 47 || ingreso[i] >= 58){
  63. ok=1;
  64. return ok;
  65. }
  66. }
  67.  
  68. if(longitud == 11){
  69. for(i=0; ingreso[i] != NULL; i++){
  70. auxiliar = ingreso[i] - 48;
  71. temp=10*temp+auxiliar;
  72. }
  73.  
  74. if(temp <= 99 || temp > UINT_MAX){
  75. ok=1;
  76. return ok;
  77. }
  78. }
  79. else{
  80. ingresoInt = atoi(ingreso);
  81. if(ingresoInt > maxDescartar){
  82. ok=1;
  83. return ok;
  84. }
  85. }
  86.  
  87. return ok;
  88. }
   

Saludos.
Daniel
338  Programación / Programación C/C++ / Descomponer un numero entero en lenguaje C. en: 31 Marzo 2014, 16:00 pm
Hola a todos y que tengan un muy buen dia.

Lenguaje………………....: “C”
Sistema operativo……: Windows XP
Compilador……………...: MinGW
Problema………………...: No puedo concluir el programa porque no logro mover
                                asía la izquierda los dígitos restantes e insertar el ‘\0’.-                                                   
Error………………………...: Ninguno.
Otras Observaciones: Para todo aquellos que tengan mucho tiempo, me
                                podrían indicar que debo cambiar para obtimizarlo .     
Código……………………..:

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <limits.h>
  4. #include <string.h>
  5.  
  6. int verifica(char ingreso[], int ok, int longitud, int maxDescartar);
  7.  
  8. int main(){
  9. unsigned int descartar=0, numeroFinal=0, i=0, ok=0, longitud=11;
  10. char digitos[12] = {'\0'}, cualDescartar[2] = {'\0'};
  11. printf("\n ---------- Programa que descompone un numero entero sin signo ----------");
  12. do{
  13. ok=0;
  14. printf("\n\n Ingrece un numero entero sin signo [minimo 100 maximo %u].........: ", UINT_MAX);
  15. fgets(digitos, longitud, stdin);
  16. ok = verifica(digitos, ok, longitud, i);
  17. }while(ok);
  18.  
  19. printf("\n\n");
  20. for(; digitos[i] != NULL; i++){
  21. printf(" [%d] = %c \n", i, digitos[i]);
  22. }
  23.  
  24. do{
  25. longitud=2;
  26. ok=0;
  27. printf("\n\n Indique con un entero sin signo del [0] al [%d] que numero desea descartar..: ", i-1);
  28. fgets(cualDescartar, longitud, stdin);
  29. ok = verifica(cualDescartar, ok, longitud, i);
  30. }while(ok);
  31.  
  32. descartar = atoi(cualDescartar);
  33. //En este lugar va lo que me falta...
  34.  
  35. printf("\n\n");
  36. return 0;
  37. }
  38.  
  39.  
  40. int verifica(char ingreso[], int ok, int longitud, int maxDescartar){
  41. long long temp=0, auxiliar=0;
  42. int ch=0, i=0, ingresoInt=0;
  43. char *p=NULL;
  44.  
  45. if((p=strchr(ingreso, '\n'))){
  46. *p='\0';
  47. }
  48. else{
  49. ingreso[longitud] = '\0';
  50. while((ch = getchar()) !='\n' && ch!=EOF);
  51. }
  52.  
  53. for(; ingreso[i] != NULL; i++){
  54. if(ingreso[i] <= 47 || ingreso[i] >= 58){
  55. ok=1;
  56. return ok;
  57. }
  58. }
  59.  
  60. if(longitud == 11){
  61. for(i=0; ingreso[i] != NULL; i++){
  62. auxiliar = ingreso[i] - 48;
  63. temp=10*temp+auxiliar;
  64. }
  65.  
  66. if(temp <= 99 || temp > UINT_MAX){
  67. ok=1;
  68. return ok;
  69. }
  70. }
  71. else{
  72. ingresoInt = atoi(ingreso);
  73. if(ingresoInt > maxDescartar){
  74. ok=1;
  75. return ok;
  76. }
  77. }
  78. return ok;
  79. }
  80.  
  81. /*
  82. sprintf(digitos, "%d", 56789);
  83. */

Saludos y muchas pero muchas gracias por el tiempo dedicado a este tema.-
Daniel
339  Programación / Programación C/C++ / Re: Operadores a nivel de bits (lenguaje C). en: 20 Marzo 2014, 20:39 pm
Hola a todos.
Citar
Se que dijiste que ibas a investigar todo esto, y deseo que lo hagas pero no me costaba nada dedicar 5 minutos a aclarar unas cosas que te hubieran demandado quiźa 2 horas (y así usas esas 2 horas en investigar otros temas  ;D
No te das una idea lo que se estima estas frases cuando uno tiene 62 años y a nadie al alcance para pedir ayuda, lo digo más que nada por la seguridad que brinda el hecho de saber que podes levantar el tubo y tener la respuesta a tú duda o mandar un mail y del otro lado contar con un amigo que tiene todas las respuestas a tus inquietudes, bueno por algo será, por lo menos cuento con Uds.-
Gracias eferion y a vos rir3760 por la participación, en cuanto a este tema para mí lo podemos dar por solucionado.-

Saludos.
Daniel

340  Programación / Programación C/C++ / Re: Operadores a nivel de bits (lenguaje C). en: 19 Marzo 2014, 13:59 pm
Hola a todos.
Como siempre en este foro la ayuda es muy abundante y esmerada, con los últimos 2 post me queda bien claro como imprimir un número en binario, que es en definitiva lo que quería aprender.-
En definitiva voy a tratar de interpretar el código de rir3760, voy a correrlo, pero de principio no entiendo que valores arrojan size_t i y size_t j  y para que el doble for, ya me pongo a buscar información.-

Saludos.
Daniel
Páginas: 1 ... 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