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

 

 


Tema destacado:


  Mostrar Mensajes
Páginas: 1 ... 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 [31] 32 33 34 35 36 37
301  Programación / Programación C/C++ / Generar 6 números y ordenarlos en el mismo bucle(lenguaje C) en: 18 Septiembre 2014, 00:40 am
Hola a todos.
El asunto es simple por lo menos para explicarlo, sólo que no se si se puede hacer, lo que quisiera saber es si en cada iteración además de generar los número ir ordenándolos, me parece que no quedaría del todo ordenado pero por lo menos ir intercambiando los posibles.-
El juego es de Argentina y se llama Quini6, los números a asertar son 6 y van del 0 al 45.-
En este caso no tiene mucho sentido porque el bucle se realiza sólo 6 veces, pero en el caso de generar por ejemplo 500.000 números tal vez acelere el tiempo que tardaría una manera y la otra.-
Código
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<time.h>
  4.  
  5. void generar();
  6.  
  7. int main(void){
  8. generar();
  9.  
  10. return 0;
  11. }
  12.  
  13. void generar(){
  14. int guardar[6], numero=0, i=0, hora = time(NULL);
  15. srand(hora);
  16.  
  17. for(; i<6; i++){
  18. numero = rand()%46;
  19. guardar[i] = numero;
  20. }
  21. }
   


Desde ya muchas gracias y muchos saludos.-
Daniel
302  Programación / Programación C/C++ / Re: cifrar un entero de 4 cifras en lenguaje C. en: 10 Septiembre 2014, 19:12 pm
Hola.
En este caso el principal uso es para evitar tener que declarar otra variable temporal, ¿estoy en lo cierto ?.-
De ser así y si lo preferís no me respondas, lo damos por sentado.-

Saludos.
Daniel
303  Programación / Programación C/C++ / Re: cifrar un entero de 4 cifras en lenguaje C. en: 10 Septiembre 2014, 13:07 pm
Hola eferion.
Ok. Funciona a la perfección, sólo una cosita más, me podrías explicar esta línea de código.

Código
  1. digitos[ 0 ] ^= digitos[ 2 ];

Se lo que hace el operador XOR (binario) pero no alcanzo a entender para que lo utilizaste en este caso.-
Desde ya gracias por tu tiempo y por favor tutéame que tengo edad de abuelo(62) pero no lo aparento.- ;D ;D ;D

Saludos.
Daniel
304  Programación / Programación C/C++ / Re: cifrar un entero de 4 cifras en lenguaje C. en: 10 Septiembre 2014, 03:47 am
Hola rir.
Una pregunta y una reflexión:
¿sos extraterrestre?
No dudo que ni a los autores del enunciado se les hubiera ocurrido hacer eso con 2 líneas.-
Eferion gracias por responder, tú código compila sin errores pero siempre me da como resultado cero.-

Saludos.
Daniel
305  Programación / Programación C/C++ / cifrar un entero de 4 cifras en lenguaje C. en: 9 Septiembre 2014, 21:40 pm
Hola a todos y que tengan un muy buen día.-

Citar
El programa debe leer un entero de cuatro dígitos y cifrar la información de la siguiente manera: reemplace cada dígito con residuo de la división entre 10 de la suma de dicho dígito mas 7. Posteriormente, intercambie el primer digito con el tercero, e intercambie el segundo dígito con el cuarto. Luego despliegue el entero cifrado.

Bueno con el enunciado tan bien explicado no me queda mucho para agregar, sólo decirles que estoy trabado con la última parte la de intercambio de dígitos, lo he intentado de varias manera pero no me funciono.-

Código
  1. #include <stdio.h>
  2.  
  3. int main(void){
  4. int numero=5724, digito=0, div=1000, auxiliar=0, cifrado=0;
  5. while(numero>0){
  6. digito = numero/div;
  7. numero = numero-(div*digito);
  8. auxiliar = (digito+7)%10*div;
  9. cifrado += auxiliar;
  10. div /= 10;
  11. }
  12.  
  13.  
  14. printf("\n El n%cmero cifrado es...: %d\n", 163, cifrado);
  15.  
  16. return 0;
  17. }

Una cosita más, no tengan reparos en postear código que sea totalmente distinto al mío, el código es de mi propia idea y seguramente Uds. lo sabrán hacer de una manera más eficiente.-       

Saludos.
Daniel
306  Programación / Programación C/C++ / Re: Medir el tiempo de una rutina en lenguaje C. en: 3 Septiembre 2014, 19:35 pm
Hola rir.
Bueno parece que el tema no da para más, cuando aprenda a construir librerías haré una para esto y me quedará como una instrucción mas.-   

Saludos.
Daniel
307  Programación / Programación C/C++ / Medir el tiempo de una rutina en lenguaje C. en: 3 Septiembre 2014, 16:17 pm
Hola Amigos.
El enunciado del manual es el siguiente.-



Código
  1. //http://dacap.com.ar/blog/cpp/medir-el-tiempo-de-una-rutina/
  2. #include <stdio.h>
  3. #include <windows.h>
  4.  
  5. /* retorna "a - b" en segundos */
  6. double performancecounter_diff(LARGE_INTEGER *a, LARGE_INTEGER *b){
  7. LARGE_INTEGER freq;
  8. QueryPerformanceFrequency(&freq);
  9. return (double)(a->QuadPart - b->QuadPart) / (double)freq.QuadPart;
  10. }
  11.  
  12. int main(int argc, char *argv[]){
  13. int contador=0;
  14. LARGE_INTEGER t_ini, t_fin;
  15. double secs;
  16.  
  17. QueryPerformanceCounter(&t_ini);
  18. while(contador <= 300000000){
  19. contador++;
  20. if(contador % 100000000 == 0){
  21. QueryPerformanceCounter(&t_fin);
  22. secs = performancecounter_diff(&t_fin, &t_ini);
  23. printf("%.16g milliseconds\n", secs * 1000.0);
  24. QueryPerformanceCounter(&t_ini);
  25. }
  26. }
  27.  
  28. return 0;
  29. }


El programa que logré a partir de los ejemplos de la página me funciona correctamente (por lo menos es lo que a mí me parece) lo que pasa es que no entiendo casi ninguna línea (creo que tiene que ver con las API’s de windows), la pregunta es ¿alguien me puede decir si se puede lograr lo mismo con con un programa en C puro?, de ser así ¿podrian poner algún ejemplo?.-

Saludos.
Daniel
308  Programación / Programación C/C++ / Re: Como detectar un desbordamiento de enteros en: 24 Agosto 2014, 22:26 pm
Hola a todos y que tengan un muy buen día.-
rir ¿esto tiene que ver con la fórmula que proponías?

Código
  1. //a * b > MAX ==> a > MAX / b, b > MAX / a
  2.  
  3. #include<stdio.h>
  4.  
  5. int main(void){
  6. unsigned int a = 2147483648, b=2, c=0, d = -1;
  7. c = d/b;
  8.  
  9. if(a>c)
  10. printf("\n %u * %u supera el m%cximo permitido --> %u", a, b, 160, d);
  11. else{
  12. c = a*b;
  13. printf("\n %u * %u = %u", a, b, c);
  14. }
  15.  
  16.  
  17. printf("\n\n");
  18. return 0;
  19.  
  20. }
  21.  

Kutcher mil disculpas por interferir en tú hilo pero no me pareció atinado hacer un post tan cercano y con la misma pregunta, es que me pareció interesante el tema sólo que tenía dudas con la formula de rir3760, lo de Blaster es por el momento demasiado avanzado para este momento mío.-

Saludos.
Daniel
309  Programación / Programación C/C++ / Re: Cuando utilizar signed y cuando unsigned (lenguaje C) en: 20 Agosto 2014, 19:08 pm
Hola rir.
Gracias por el aporte, hay cosas que o no están en todos los manuales o uno las pasa por alto, gracias que están Uds.

Convertir el valor -1 a un tipo entero sin signo es la forma usual de obtener el valor máximo del tipo en cuestión sin tener que recurrir al encabezado <limits.h>. Esto porque cuando un valor con signo se convierte a uno sin signo y el valor esta fuera del rango valido (-1 lo esta) se le suma o resta (dependiendo del caso) MAX + 1 hasta obtener uno valido (-1 + MAX + 1 == MAX).

Código
  1. #include<stdio.h>
  2.  
  3. int main(void){
  4.     unsigned int a = -1;
  5.  
  6.     printf("\n\n El m%cximo valor soportado por un entero sin signo es...: %u\n\n", 160, a);
  7.  
  8.     return 0;
  9. }

          Saludos.
          Daniel
310  Programación / Programación C/C++ / Re: Cuando utilizar signed y cuando unsigned (lenguaje C) en: 18 Agosto 2014, 16:27 pm
Hola Ivancea96.
Bueno al fin me queda del todo claro, no es porque Blaster lo hayas explicado mal, sino es porque de esta manera me cayó la ficha.- 

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