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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


  Mostrar Mensajes
Páginas: 1 ... 8 9 10 11 12 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
221  Programación / Programación C/C++ / Re: Punteros dobles / Punteros a puntero. en: 13 Abril 2016, 15:00 pm
Citar
Asumi erroneamente por tu pregunta (Dobles apuntadores) que ya sabias lo que es un apunador.

Citar
entiendo que una variable puntero apunta a la dirección de memoria donde está alojada una variable del mismo tipo, o sea su valor es la dirección de memoria de una variable común.-

222  Programación / Programación C/C++ / Re: Punteros dobles / Punteros a puntero. en: 13 Abril 2016, 14:01 pm
Mi nivel de aprendizaje no me da todavía para siquiera intentar hacerte preguntas por lo que no entiendo, igual muchas gracias por tu tiempo.-

Daniel
223  Programación / Programación C/C++ / Punteros dobles / Punteros a puntero. en: 13 Abril 2016, 02:58 am
Hola, a todos.
Desearía  que alguien me ayude a entender la utilidad práctica de los punteros dobles, entiendo que una variable puntero apunta a la dirección de memoria donde está alojada una variable del mismo tipo, o sea su valor es la dirección de memoria de una variable común.-
Un puntero doble apunta a otro puntero, si bien mi descripción no es para escribir un libro pero es lo que hay.-
Por ahí leí que los punteros dobles se asemejan a los array de 2 dimensiones, es esto cierto y porque?.-
El manual con el que estoy estudiando punteros pone este ejemplo pero no tengo claro el beneficio en utilizar punteros dobles, el autor en este caso no da demasiadas explicaciones sobre el tema, no me cabe dudas que más adelante profundizara  sobre el particular pero me gustaría aprenderlo de Uds. El libro tiene más de 200 páginas dedicadas exclusivamente a punteros y de paso está en inglés.-

Código
  1. #include <stdio.h>
  2.  
  3. int main( void ){
  4. char *titles[] = {"A Tale of Two Cities",
  5. "Wuthering Heights","Don Quixote",
  6. "Odyssey","Moby-Dick","Hamlet",
  7. "Gulliver's Travels"};
  8.  
  9. char **bestBooks[3];
  10. char **englishBooks[4];
  11.  
  12. bestBooks[0] = &titles[0];
  13. bestBooks[1] = &titles[3];
  14. bestBooks[2] = &titles[5];
  15. englishBooks[0] = &titles[0];
  16. englishBooks[1] = &titles[1];
  17. englishBooks[2] = &titles[5];
  18. englishBooks[3] = &titles[6];
  19.  
  20. printf("%s\n\n",*englishBooks[1]); /*Wuthering Heights*/
  21.  
  22. return 0;
  23. }
   

Bueno es todo por el momento y desde ya muchas gracias.-
Daniel
224  Programación / Programación C/C++ / Re: Duda solo ingresar numeros en: 10 Abril 2016, 18:16 pm
Hola, meaf75. -
No tengo todavía mucha autoridad para responderte pero fíjate si este código te soluciona en parte tu problema, el único error es que si ingresas 12a te toma como válido el 12, tú dirás. -

Código
  1. #include <stdio.h>
  2. #include <limits.h>
  3.  
  4. int main( void ){
  5. int numero = 0, ch, ok;
  6.  
  7. do{
  8. printf("\n Ingresa un numero entero (maximo %u)....: ", UINT_MAX);
  9. ok = scanf("%d", &numero) == 1 && numero >= 1 && numero <= UINT_MAX;
  10.  
  11. while ((ch = getchar()) != EOF && ch != '\n');
  12. }while(!ok);
  13.  
  14. printf( "\n Ingreso...: %d", numero );
  15.  
  16. return 0;
  17. }

Saludos.
Daniel

225  Programación / Programación C/C++ / Re: Medir velocidad de ejecución de un programa en lenguaje C.- en: 6 Abril 2016, 15:23 pm
Hola.
MAFUS, te dejo una captura para que me digas que es lo que estoy leyendo, segundos, milesegundos. -



crack81, muchas pero muchas gracias por esas sugerencias no tenes una idea como se agradece de este lado, no obstante (como lo aclare al principio) lo hice con punteros porque estoy estudiando justamente punteros y estaba practicando. -

Un abrazo y muchas gracias por el tiempo que le dedicaron al tema. -
Daniel
226  Programación / Programación C/C++ / Re: Medir velocidad de ejecución de un programa en lenguaje C.- en: 6 Abril 2016, 00:52 am
Hola, amigo.
Te dejo la manera que lo hice, no tarda tanto en aparecer los 100 números, Parece ser lo que me propones.

Código
  1. void llenar( size_t *ptrNumeros ){
  2. size_t hora = time(NULL), i, tmp, ok = 0;
  3. srand(hora);
  4.  
  5. for(i = 0; i < TAM; i++){
  6. do{
  7. tmp = rand()% 999 + 1 ;
  8. ok = verifica( ptrNumeros, tmp );
  9. }while(ok);
  10. *( ptrNumeros + i ) = tmp;
  11. }
  12. }
  13.  
  14. int verifica( size_t *ptrNumeros, size_t tmp ){
  15. size_t i, stop = 0;
  16.  
  17. for( i = 0; i < TAM; i++ ){
  18. if( *( ptrNumeros + i) == tmp )
  19. stop = 1;
  20. }
  21.  
  22. return stop;
  23. }

Saludos.
227  Programación / Programación C/C++ / Re: Medir velocidad de ejecución de un programa en lenguaje C.- en: 5 Abril 2016, 18:56 pm
Hola.
Bueno a pesar de no lograr el cometido porque realmente todas las pruebas que hice no me dieron resultdo, encontré una aplicación utilizando la librería windows.h  que funciona muy bien, me gustaría colgarla aquí, pero como no conozco si es legal esto de sacar programas de una página y copiarlo en otra mejor lo dejamos ahí. -
Lo que quiero consultarles concretamente es ¿es posible generar números aleatorios sin que se repitan?  o la única manera es por cada número generado verificar si ya se encuentra en el arreglo. -

Código
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<time.h>
  4.  
  5.  
  6. void llenar( size_t *ptrNumeros );
  7. void ordenar( size_t *ptrNumeros );
  8. void mostrar( size_t *ptrNumeros );
  9. #define TAM 102
  10.  
  11. int main( int argc, char *argv[] ){
  12. size_t numeros[TAM], *ptrNumeros = numeros;
  13.  
  14. llenar( ptrNumeros );
  15. ordenar( ptrNumeros );
  16. mostrar( ptrNumeros );
  17.  
  18. return 0;
  19. }
  20.  
  21. void llenar( size_t *ptrNumeros ){
  22. size_t hora = time(NULL), i;
  23. srand(hora);
  24.  
  25. for(i = 0; i < TAM; i++){
  26. *(ptrNumeros + i) = rand()% 100 + 200;
  27. }
  28. }
  29.  
  30. void ordenar( size_t *ptrNumeros ){
  31. size_t i = 0, tmp = 0;
  32.  
  33. while(1){
  34. if( *( ptrNumeros+i) >  *(ptrNumeros+(i+1)) ){
  35. tmp = *(ptrNumeros+i);
  36. *(ptrNumeros+i) = *(ptrNumeros+(i+1));
  37. *(ptrNumeros+(i+1)) = tmp;
  38. }
  39. if( i+1 == TAM ){
  40. if( tmp == 0) break;
  41. else{tmp = 0; i = -1;}
  42. }
  43. i++;
  44. }
  45. }
  46.  
  47. void mostrar(size_t *ptrNumeros){
  48. size_t i;
  49.  
  50. for( i = 0; i < TAM; i++ ){
  51. if( i%10 == 0 ) printf( "\n" );
  52. printf( " %u", *(ptrNumeros+i) );
  53. }
  54. }

Saludos.
Daniel
228  Programación / Programación C/C++ / Re: Medir velocidad de ejecución de un programa en lenguaje C.- en: 4 Abril 2016, 23:24 pm
Hola a todos.
Voy a exponer el código y como lo implemente para que me digan si es correcto porque me quedan dudas con el resultado, por Ej. 4294967199, ¿estos son milisegundos y 4.30.... segundos?.-

En cuanto a Linux, se puede poner esta línea para que la salida vaya a un archivo de texto. -
>> (time ls) 2> salida.txt

Código
  1. int main( void ){
  2. size_t vector[] = {99, 8, 13, 6, 10, 40, 7, 2, 1,74}, *ptrV = vector;
  3. static size_t elementos = sizeof (vector) / sizeof (size_t);
  4. clock_t cl = clock();
  5.  
  6. ordenar(ptrV, elementos);
  7. mostrar(ptrV, elementos);
  8.  
  9. cl = clock() - cl;
  10.  
  11. printf("\n\n %lu", (cl*1000)/CLOCKS_PER_SEC);
  12.  
  13. return 0;
  14. }
Saludos.
Daniel
229  Programación / Programación C/C++ / Re: Medir velocidad de ejecución de un programa en lenguaje C.- en: 4 Abril 2016, 17:11 pm
Hola,  class_OpenGL.
Efectivamente, esa variable era la causante del error, cuando cambie el bucle for por el while no lo tube en cuenta. -
En la función printf efectué 2 cambios y quedo así (de lo contrario me daba errores):

Código
  1. printf("\n\n Milesegundos transcurridos.....:%f", (cl*1000)/(double)CLOCKS_PER_SEC);

%f y (double)

Por último ¿es coherente que me de el resultado con el signo menos?
-98.000000
-95.000000

Saludos.
Daniel
230  Programación / Programación C/C++ / Re: Medir velocidad de ejecución de un programa en lenguaje C.- en: 4 Abril 2016, 14:14 pm
Hola.
Citar
¿Cuál es el código que te falla?
Cuando le agrego las líneas que me sugeriste.
Citar
¿qué código de error lanza?
Al compilar ninguno, al ejecutar no muestra nada y aparece el mensaje que postee anteriormente. -
Cuando decís que te funciona correctamente, te referís a que ¿lo estás corriendo dentro del programa mío o con algún código diferente?. -

Saludos.
Páginas: 1 ... 8 9 10 11 12 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