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

 

 


Tema destacado: Estamos en la red social de Mastodon


  Mostrar Mensajes
Páginas: 1 [2] 3 4 5 6 7 8 9 10 11 12 13 14 15
11  Programación / Programación C/C++ / Re: Ejercicio en: 10 Enero 2015, 13:16 pm
1.- ¿Este ejercicio lo tienes que hacer en C o en C++? Porque la cosa cambia bastante...

2.- Resolvemos y aclaramos dudas, pero no hacemos tareas, escribe por lo menos lo que llevas hecho, como has pensado que podrías resolverlo, si hay algo que no sabrías muy bien como hacer, etc. Intenta que parezca que por lo menos te has esforzado en pensar como resolverlo y no vienes aquí simplemente para que te hagan la tarea.


Dejando esto aparte, si he comprendido bien tienes que hacer una función que coja un vector y su longitud, lea la entrada del teclado y busque lo que ha leído en el vector, para después modificarlo, ¿no? Lo primero sería definir la estructura para guardar la información de cada corredor. Eso es bastante básico.

Después, la cosa varia entre C y C++. En C++ el vector se representaría con std::vector. En C probablemente tendrías que usar punteros y realocar el tamaño en memoria para añadir los nuevos corredores.

Un saludo
12  Foros Generales / Foro Libre / Re: Con que lenguaje se aprende cualquier otro mas fácil? en: 1 Enero 2015, 19:55 pm
Por lo que dicen estudiar cualquier lengua muerta que sea la base de lenguas actuales (por ejemplo, el latín) ayuda bastante a su comprensión más profunda. Sin embargo no sé si ayuda a aprenderlo, pues cada lengua es completamente diferente en muchos aspectos, ya que viene directamente influida por la cultura, el lugar en el que se habla, etc.

Los lenguajes de programación, por otra parte, han sido creados prácticamente todos en Estados Unidos/Inglaterra, por lo que todos son (salvando las distancias) más o menos similares. Además, a pesar de que cada lenguaje de programación suele ser apropiado para una tarea en concreto, todos ellos se basan en unos principios que por el contrario no existen en la lengua hablada.

Dicho esto, de haber algún lenguaje que cumpla estos requisitos que dices se trataría del latín, al menos en Occidente. En Oriente la verdad es que no tengo ni idea de si hubo algún lenguaje hablado en prácticamente todas las zonas.

Un saludo
13  Programación / Programación C/C++ / Re: Busco a alguien que esté aprendiendo a usar OpenGL en: 1 Enero 2015, 14:40 pm
Buenos días Seyro, ¿te refieres a trabajar en equipo en un proyecto o a trabajar en equipo en el aprendizaje? Si es la primera podrías espedificar un poco lo que quieres hacer para que la gente pueda decidir si quiere o no :P

Un saludo
14  Foros Generales / Foro Libre / Re: Corea del Norte llama a Obama "mono de bosque tropical" en: 29 Diciembre 2014, 12:08 pm
Aunque no creo que Corea del Norte efectue ninguna de sus amenazas, ya que si este entra en una guerra contra EEUU la pierde, ya que no tinen ni la mitad de armamento ni recursos.

No se si habrás visto la película Juegos de guerra pero creo que en esta queda bastante claro que no hay ningún vencedor en una guerra nuclear, solo la destrucción de toda la raza humana. Y eso que trata sobre la Guerra Fría, imagínate ahora.

Un saludo
15  Foros Generales / Foro Libre / Re: Corea del Norte llama a Obama "mono de bosque tropical" en: 29 Diciembre 2014, 01:49 am
Concepto claros, EEUU tendrá sus defectos, que lo tienes, todos somos humanos, pero se conocen, se critican, se les pone "verde" en el mundo. Eso es democracia. Que un estado diga lo que hace, aunque no sea políticamente correcto. Y que si una nación extranjera ataca el país todos una piña por el país, que les da la libertad de expresión, de acción y la democracia.

¿Es eso democracia? Pues tenemos opiniones muy distintas porque yo creo que democracia es el estado en el cual el poder reside en el pueblo. No el estado que hace lo que le da la gana, aunque no lo mantenga en secreto.

Aunque sí que coincido contigo en que la libertad es fundamental en cualquier democracia, no es (ni mucho menos) su única característica. Una democracia tiene que ser mucho más que eso.

Un saludo
16  Foros Generales / Foro Libre / Re: Corea del Norte llama a Obama "mono de bosque tropical" en: 28 Diciembre 2014, 17:30 pm
A mí no sé por qué pero me da que todo esto no es más que una propaganda de Sony para hacer publicidad de su película, llamadme loco...

Un saludo
17  Programación / Programación C/C++ / Re: [c++] Problema con la lectura de ficheros en: 28 Diciembre 2014, 16:38 pm
Podrías leerlo como un string y luego convertirlo a un entero de la siguiente manera:

Código
  1. std::string id_str;
  2.  
  3. getline(f, id_str);
  4.  
  5. v[tam].identificador = std::stoi(id_str);

Para poder usar std::stoi() tienes que compilar en modo C++11, lo cual en mi opinión es recomendable siempre.

Un saludo

PD: Por cierto, no es recomendable hacer llamadas al system al final del programa. Una llamada a std::cin.get() será mucho menos costosa y hará prácticamente lo mismo.

PD2: Además, no te olvides de devolver 0 al final del main, para indicarle al programa que todo ha salido correctamente.
18  Programación / Programación C/C++ / Re: Pregunta sobre funciones anónimas en C++ [Lambda]. en: 25 Diciembre 2014, 19:22 pm
No sé muy bien por qué la estás declarando así. Yo lo haría de la siguiente manera:
Código
  1. auto funcion1 = [x] (int a) {
  2.      return (a * x);
  3.    };

Donde el tipo de la función es:
Código
  1. function<int (int)>

Si prefieres no usar auto no te olvides de incluir la libreria <functional>. Y en ningún caso te olvides de compilar en modo C++11.

Un saludo y feliz navidad  ;)

PD: Por cierto, no es recomendable hacer llamadas al system al final del programa. Una llamada a std::cin.get() será mucho menos costosa y hará prácticamente lo mismo.
19  Programación / Programación C/C++ / Re: Aprendiendo el uso basico de apuntadores ! no me da el resultado correcto en: 25 Diciembre 2014, 19:04 pm
No soy ningún experto, pero probablemente esto se deba a que en la funcion de ingreso estas dando a los punteros una dirección de memoria local dentro de la función y cuando se sale de esta función la dirección se vuelve indeterminada (creo).

Para dar valor a los punteros deberías hacer lo siguiente:
Código
  1. *val1 = valor;
Con esto le estás indicando al programa que asigne el valor al puntero, no su dirección de memoria. Sin embargo para hacer esto antes tienes que haber reservado memoria para el puntero con la función malloc() y después tienes que liberarla con la función free().

El programa quedaría entonces así:
Código
  1. void SolicitudEingresoDeValores();
  2. float Promedio();
  3.  
  4. /* Declaracion de los punteros */
  5. float *val1, *val2, *val3, *val4, *val5;
  6.  
  7. int main(int argc, char **argv)
  8. {
  9. float average;
  10.  
  11. /* Reservamos espacio en la memoria para poder asignar valores a los punteros */
  12. val1 = malloc(sizeof(float));
  13. val2 = malloc(sizeof(float));
  14. val3 = malloc(sizeof(float));
  15. val4 = malloc(sizeof(float));
  16. val5 = malloc(sizeof(float));
  17.  
  18. SolicitudEingresoDeValores();
  19.  
  20. average = Promedio();
  21. printf("%f \n", average);
  22.  
  23. /* Una vez que lo hemos usado, liberamos este espacio */
  24. free(val1);
  25. free(val2);
  26. free(val3);
  27. free(val4);
  28. free(val5);
  29.  
  30. return 0;
  31. }
  32.  
  33. void SolicitudEingresoDeValores()
  34. {
  35.  /* Como cambia de valor, con una variable sera suficiente */
  36.  float valor;
  37.  
  38.  printf("ingrese el primer valor: \n");
  39.  scanf("%f", &valor);
  40.  *val1 = valor; // Asignamos el valor, no la direccion de memoria (pues es una variable local)
  41.  
  42.  printf("ingrese el segundo valor: \n");
  43.  scanf("%f", &valor);
  44.  *val2 = valor;
  45.  
  46.  printf("ingrese el tercer valor: \n");
  47.  scanf("%f", &valor);
  48.  *val3 = valor;
  49.  
  50.  printf("ingrese el cuarto valor: \n");
  51.  scanf("%f", &valor);
  52.  *val4 = valor;
  53.  
  54.  printf("ingrese el quinto valor: \n");
  55.  scanf("%f", &valor);
  56.  *val5 = valor;
  57. }
  58.  
  59. float Promedio()
  60. {
  61.  return ( *val1 + *val2 + *val3 + *val4 + *val5 ) / 5;
  62. }

Como ya has reservado espacio para los punteros, la función scanf() se podría usar simplemente así:
Código
  1. scanf("%f", val1);
sin necesidad de un variable local, poniendo como parámetros directamente los punteros. Por lo tanto la función quedaría así:
Código
  1. void SolicitudEingresoDeValores()
  2. {
  3.  printf("ingrese el primer valor: \n");
  4.  scanf("%f", val1);
  5.  
  6.  printf("ingrese el segundo valor: \n");
  7.  scanf("%f", val2);
  8.  
  9.  printf("ingrese el tercer valor: \n");
  10.  scanf("%f", val3);
  11.  
  12.  printf("ingrese el cuarto valor: \n");
  13.  scanf("%f", val4);
  14.  
  15.  printf("ingrese el quinto valor: \n");
  16.  scanf("%f", val5);
  17. }

Por supuesto aún se podrían mejorar muchas cosas, como utilizar arrays en lugar de punteros separados para poder realizar medias de un número variable de valores en cada programa. Sin embargo esto cumple con lo que querías en el programa original utilizando punteros.

Un saludo

PD: En la función malloc() se tiene que indicar el tamaño de la variable (en bytes). Para ello se utiliza la función sizeof().
20  Programación / Programación C/C++ / Re: ayuda con detallitos en mi programa (OJO paciencia, soy novato) en: 25 Diciembre 2014, 17:55 pm
Código
  1. for( c = 0; c < columnas; c++ )
  2. {
  3.  for( f = 0; f < filas; f++ )
  4.  {
  5.   printf("%d \t", array[f][c] ); //Aqui está el error.
  6.  }
  7.  printf("\n");
  8. }


Estás accediendo al array con los índices al revés en el último bucle for. Puede que se trate de eso.

En cuanto a lo de flush_input(), me remito a la pregunta de este usuario en stack overflow: http://stackoverflow.com/questions/7898215/how-to-clear-input-buffer-in-c. Y por cierto, es recomendable no utilizar la función scanf() y en su lugar usar fgets().

Un saludo y feliz navidad  ;)
Páginas: 1 [2] 3 4 5 6 7 8 9 10 11 12 13 14 15
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines