Menú

Mostrar Mensajes

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

Mostrar Mensajes Menú

Mensajes - joecarl

#11
Sí, los arrays funcionan de forma similar a los punteros. Es posible que el programa te funcione pero eso no quiere decir que esté bien, de hecho no lo está, ese programa tiene varios fallos.

El primero:
Código (cpp) [Seleccionar]
scanf("%s",&nombres[x][40]);
Ahí realmente deberias poner:
Código (cpp) [Seleccionar]
scanf("%s",nombres[x]);

Al igual que
Código (cpp) [Seleccionar]
printf("Nombres: %s ",&nombres[x][40]);
Que debería ser:
Código (cpp) [Seleccionar]
printf("Nombres: %s ",nombres[x]);

Por último, has declarado comp como un puntero a char, pero no estas reservando ningún espacio en memoria para almacenarla, sin embargo luego estas tratando de llenarla con scanf("%s",comp); con lo que estás escribiendo en zonas de memoria no reservadas. Para evitar esto declara comp como una cadena de caracteres: char comp[40];

EDIT: también puedes declarar comp como un puntero y luego reservar el espacio dinámicamente:

Código (cpp) [Seleccionar]

char *comp;
comp= malloc(40*sizeof(char));
//....
free(comp);

Pero en este caso no merece la pena ya que es un programa muy simple, solo quería mostrarte las diferentes posibilidades que hay.
#12
Sí, al seleccionar GUI application estas configurando el compilador para que cree un ejecutable que no muestre ninguna consola, sino interfaces visuales, pero si no defines ninguna interfaz visual pues no deberia mostrarse nada.
#13
Sí que se puede, si usas el tipo std::string.
#14
De ese modo estas usando variables de sesión. Por tanto, para el intruso sería tan fácil como borrar las cookies, y ya tendría 10 intentos más. Mi método también tiene sus pegas, en la mayoría de las conexiones a internet se usan IP dinámicas por tanto con reiniciar el router también se dispondrían de 10 nuevos intentos. Pero reiniciar el router es mas pesado que borrar las cookies.
#15

Pues mira, en DevC++ no sé, pero en Code::Blocks no hace falta nisiquiera usar nada de lo dicho anteriormente, simplemente vas a:

Project->Properties...->Build Targets->Type:
Y seleccionas "GUI Application" en el menu desplegable.

Y ya no hay mas consola que valga.
#16
No me funciona el enlace. ¿Puedes ponerlo sin el formato del tipo enlace? Es que así se contrae con los puntos suspensivos y luego no se recupera... raro, la verdad...
#17
Pues no uso ninguno de esos, uso el phpDesigner que es lo mejor que he probado con diferencia... una pena que sea sólo para win.
#18
Un par de cosillas:

No se debe usar la funcion header despues de haber enviado contenido web. La alternativa a eso es usar la funcion header para redirigir con unos segundos de retraso, y luego muestras el contenido web.

Para restringir el acceso puedes hacerlo de varias formas. La mas simple es que si se producen 10 intentos de acceso erroneos se guarden en una base de datos la IP del cliente y la hora en la que se hizo el ultimo login, esa tabla la llamaremos "lista negra".

Cada vez que se intente hacer login buscamos la IP del cliente en la lista negra:
  Si no se encuentra => dejamos paso libre.
  Si se encuentra => obtenemos el valor de la ultima hora registrada y:
    Si difiere en menos de 600segundos (10 minutos) => mostramos pagina de bloqueo.
    Si no => dejamos paso libre.
#19
Tal y como te indiqué en el pseudocode:

HallarSuma(int n)
 Para i =2 hasta n
   Si esPrimo(i) y esPrimo(n-i)
     Mostrar i y n-i
   Fin si
 Fin para
Fin hallarSuma

Que sería:
Código (c++) [Seleccionar]

void sumadeprimos(int n){
 int i;
 for(i=2;i<n;i++){
   if (primo(i) && primo (n-i)){
     cout << n << " = " << i << " + " << n-i << endl;
   }
 }
}


No he probado el código pero imagino que funcionará, ese código es que invertirá menos tiempo en ejecutarse pero quizá haya que refinarlo un poco.

EDIT: he cambiado i=0 por i=2 como condicion inicial en el for ya que ni el 0 ni el 1 son primos segun wikipedia.
#20
Cita de: engel lex en 28 Julio 2015, 10:17 AM
recomiendo que las revises... están mayormente bien justificadas y en pro de la lectura... si, podría reducirse, pero no mucho... pero con respecto a lo que tu haces, creo que sería imposible extenderlo a 500 lineas...

Lo he revisado bien antes de postear, no entiendo mucho lo que quieres decir. No entiendo por qué dices que su código no se puede reducir mucho, porque salta a la vista que sí se puede.