• Domingo 17 de Noviembre de 2024, 17:24

Mostrar Mensajes

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


Mensajes - punteroNULO

Páginas: 1 [2] 3
26
JavaScript / Conocer tamaño ventana
« en: Sábado 23 de Enero de 2010, 11:25 »
Buenos días.

Quiero conocer el tamaño de la ventana donde se muestra el documento (no el tamaño de dicho documento).
Utilizo las propiedades:
Código: Text
  1. ancho_v = window.innerWidth;
  2. alto_v = window.innerHeight;
  3.  
que funcionan con Firefox y Opera.

No funciona para Explorer. Me gustaría saber como obtener esa información para este navegador.

Gracías.

27
C/C++ / Re: Funcion que devuelve un vector...
« en: Martes 19 de Enero de 2010, 19:09 »
En la función subalgoritmo en vez de:
Código: C
  1. vector[a]=array[i][j];          
  2. printf("%i ", vector[a]);
  3.  

no es más lógico y rápido:
Código: C
  1. printf("%i ", array[i][j]);
  2.  

La variable vector no tiene ninguna utilidad para este caso. Ocupar espacio en memoria para nada.

28
C/C++ / Re: Funcion que devuelve un vector...
« en: Viernes 15 de Enero de 2010, 20:11 »
Código: C
  1. vector[90]=subalgoritmo(matriz, fpe, cpe, fue, cue, vector);
  2.  
La asignación a la variable sobra puesto que la función no devuelve ningún valor y el vector ya está como uno de los parámetros. Lo correcto entonces:
Código: C
  1. subalgoritmo(matriz, fpe, cpe, fue, cue, vector);
  2.  

Código: C
  1. printf("%i", vector[90]);
  2.    
  3. printf("nSubmatriz: (%i,%i) , (%i,%i) en forma vectorial: %in"
  4.     , fpe, cpe, fue, cue, vector[90]);
  5.  
Solo muestra el valor que se encuentra en la posición 90 del vector, que encima está fuera del rango (un vector de 90 elementos va desde 0 hasta 89), con lo cual el valor que se muestra es de la variable que se encuentra en la siguiente posición de memoria.
Para mostrar todos los elementos se realiza un recorrido desde la primera posición hasta el número de elementos que se extrayerón de la matriz:
Código: C
  1. printf("nSubmatriz: (%i,%i) , (%i,%i) en forma vectorial: " , fpe, cpe, fue, cue);
  2. for(i=0; i < (((fue - fpe)+1) * ((cue - cpe)+1)); i++)
  3.        printf ("%i ", vector[i]);
  4.  

29
C/C++ / Re: Matrices y punteros
« en: Viernes 1 de Enero de 2010, 23:46 »
el problema es que declaras tres variables como punteros:
Código: C
  1. int *ceros,*pos,*nega;
  2.  
las utilizas como estáticas:
Código: C
  1. ceros=0;
  2. pos=0;
  3. nega=0;
  4. Cuenta(m,filas,columnas,&ceros,&pos,&nega);
  5. printf("Hay %d ceros.n",ceros);
  6. printf("Hay %d numeros positivos.n",pos);
  7. printf("Hay %d numeros negativos.n",nega);
  8.  

Se soluciona simplemente con el cambio:
Código: C
  1. int ceros, pos, nega;
  2.  

30
C/C++ / Re: Exponencial de un número
« en: Sábado 26 de Diciembre de 2009, 21:06 »
Con el cambio de tipos el programa funciona perfectamente. Calcula el valor del expotencial y el bucle se para cuando el sumando tiene un valor inferior a 0.001.
No se que otra cosa estás buscando.

Otra cosa es que el código se puede hacer mucho más eficiente. Pero funciona.

31
C/C++ / Re: Exponencial de un número
« en: Viernes 25 de Diciembre de 2009, 14:37 »
El problema está en la función "factorial". Porque utilizas variables de tipo int, cuando intentas calcular un factorial mayor de 12 el valor se sale del rango que puede almacenar este tipo.

La solución es tan simple como cambiar el tipo utilizado en la función:
Código: C
  1. double factorial (double x){
  2. if(x!=1){
  3. return(x*factorial(x-1));
  4. }
  5. return 1;
  6. }
  7.  

32
C/C++ / Re: Examen final!
« en: Miércoles 16 de Diciembre de 2009, 21:25 »
Tiene la pinta de que el problema es en la forma de enviar el archivo.

Son códigos de HTML para caracteres especiales:
&amp; = &
&lt; = <
&gt; = >
&quot; = "

En algún momento se códifico el archivo como si fuera una página HTML y por eso todos los símbolos los cambio por su correspondiente código.

33
C/C++ / Re: DIVISORES
« en: Domingo 13 de Diciembre de 2009, 00:10 »
Un fallo es este:
Código: C
  1. if (aux=0){
  2.  

Estas haciendo una asignación, para comparar es "=="
Código: C
  1. if (aux==0){
  2.  

34
C/C++ / Re: Serie matemática...
« en: Sábado 12 de Diciembre de 2009, 11:43 »
Otra forma de hacerlo:

Si mostramos todos los elementos del cálculo:
S = 1 + X + ((X*X)/(1*2)) + ((X*X*X)/(1*2*3)) +((X*X*X*X)/(1*2*3*4))..

se ve que
(considerando <> como un subíndice)
S<i> = S<i-1> * X / i
siendo S<0> = 1

S = S<0> + S<1> + S<2> + S<3> + .........


Por lo tanto se puede utilizar este código que utiliza muchas menos operaciones matemáticas:
Código: C
  1.  
  2. #include <stdio.h>
  3. #include <math.h>
  4.  
  5.  
  6. int main(){
  7.     int nivelAproximacion=0; /* El total de sumandos de la serie */
  8.     int i;/*Contadores*/
  9.     double s=1,X, aux=1;
  10.    
  11.     printf("Ingrese el numero para evaluar la suma:n");
  12.     scanf("%lf",&X);
  13.    
  14.     while(nivelAproximacion==0){
  15.         printf("Ingrese el nivel de aproximacion de la suma (total de sumandos):n");
  16.         scanf("%d",&nivelAproximacion);
  17.     }
  18.    
  19.     for(i=1;i<nivelAproximacion+1;i++){
  20.         aux = (aux *X)/i;
  21.         s += aux;
  22.     }
  23.    
  24.     printf("El valor de la suma es %fn",s);
  25. }
  26.  
  27.  

35
C/C++ / Re: Winsock RAW sockets
« en: Viernes 5 de Junio de 2009, 19:48 »
Si no quieres recibir por un puerto en concreto sino capturar todo lo que se recibe creo que debería quitar la función bind.
Prueba a comentar ese trozo de código a ver si funciona.

36
C/C++ / Re: Winsock RAW sockets
« en: Miércoles 3 de Junio de 2009, 19:07 »
puede que el fallo este en:
Código: C
  1. se.sin_port = 0;
  2.  
puesto que no le indicas en que puerto tiene que escuchar, sino que escoga uno libre cualquiera.

lo lógico es especficar un puerto. Por ejemplo:
Código: C
  1.  se.sin_port = htons(26000);
  2.  
y luego enviar los mensajes a ese puerto.

37
PHP / Re: Como poner un array en una variable de sesion?
« en: Domingo 24 de Mayo de 2009, 12:01 »
La varibale $_SESSION es un array que contiene la variables de sesión, solo hay que indicar que una de ellas es una array.
Quedaría de la forma siguiente:
Código: PHP
  1.  
  2. foreach ($numero_array as $na)
  3.     {
  4.         echo $na."<br>";
  5.         $_SESSION['mi_array'][]=$na;
  6.     }
  7.  
  8.  

Donde en la variable de sesión "mi_array" almacena un vector.

Citar
$_SESSION[]=array();
No hace falta $_SESSION es un variable global que ya es un vector por definición. No hay que especificarlo.

38
C/C++ / Re: Error "Definición múltiple de función"
« en: Jueves 2 de Abril de 2009, 19:22 »
Sin más información se me ocurre que podría deberse a que se incluye un archivo de cabecera en dos módulos distintos y al enlazarlos se definen las mismas funciones dos veces.

Se puede evitar esto simplemente con una definición y una condición. Por ejemplo (archivo clases.h, por poner uno)
Código: C++
  1.  
  2. #ifndef clases_H
  3. #define clases_H
  4.  
  5. // contenido de la cabecera
  6.  
  7. #endif
  8.  
  9.  

La primera vez que se incluye el archivo no está definido clases_H, se cumple la condicion "#ifndef clases_H" define clases_H y el resto del contenido. Pero la segunda vez que se incluya ya estará defindo y por tanto se salta ese código y no se vuelven a redefinir las funciones.

Bueno, espero que se entienda más o menos.

39
C/C++ / Re: Salto de caballo y backtracking
« en: Viernes 20 de Febrero de 2009, 22:17 »
El problema es que al recorrer recursivamente las funciones incrementas la variable cont antes de la llamada.

Por ejemplo: (suponiendo cont = 1)
Código: C
  1.  
  2. //llamamos a la función (antes incrementamos, cont =2);
  3. listo = moverCaballo(x+2,y+1,++cont);
  4.  
  5. //suponiendo que no se alcanza el resultado por ese camino se regresa hacia atrás y se intenta con la siguiente opción
  6. // pero volvemos a incrementar, cont = 3, cuando debería tener el valor 2
  7. listo = moverCaballo(x+1,y+2,++cont);
  8.  
  9.  

En cada intento estás aumentando el valor del contador cuando solo se debería sumar una vez en la función.

La solución es sencilla.
Incrementar la variable al principio de la función.
Código: C
  1.  
  2. bool moverCaballo(int x,int y,int cont) {
  3.  
  4. bool listo = false;
  5. cont++;
  6. mat[x][y] = cont;
  7. ....
  8. }
  9.  
  10.  

Ahora no hace falta incrementar la variable en cada llamada a función:
Código: C
  1. //por ejemplo
  2. listo = moverCaballo(x+2,y+1,cont);
  3.  

Y como último paso modificar la llamada incial, empezando en 0.
Código: C
  1. moverCaballo(0,0,0);
  2.  

40
Flash / ActionScript / Aspecto ComboBox
« en: Viernes 20 de Febrero de 2009, 11:22 »
Buenos días.

Quiero cambiar los colores de un ComboBox. Con el método setStyle puedo cambiar algunos aspectos. Pero lo que quiero cambiar es el icono y el color de fondo del botón que desplega la lista.
En la ayuda se indica que es un componente Button, pero no indica de que manera se puede acceder a él para cambiar sus propiedades.

¿Alguién sabe como puedo acceder al botón para cambiarle las propiedades?

Gracias.

41
C/C++ / Re: problemas con el fmod
« en: Lunes 17 de Noviembre de 2008, 17:56 »
Cita de: "m0skit0"
1.7E +/- 308. Bueno ¿se supone que llega hasta 10^308 o estoy atontao como siempre, jejeje?
Que admita ese rango de valores no quiere decir que almacene los 308 dígitos del número.

Para este caso el número almacenado en un tipo double sería: 4,1837784725909164 * 10^56
Siendo el valor 418377847259091645147530834859099334519176045887014771543. Como se ve se pierden los menos significativos. En la mayoría de las operaciones el error es insignificante y no hay problema. Pero en este caso al ser el resto de una división todo el número es importante al realizar el cálculo.

P.D.: hay que tener cuidaddo cuando se realizan operaciones en coma flotante porque pueden dar resultados inesperados.

42
C/C++ / Re: problemas con el fmod
« en: Domingo 16 de Noviembre de 2008, 23:40 »
Bueno. 7^67 es igual a 418377847259091645147530834859099334519176045887014771543, tiene 57 digitos (sino me equivoque al contar).
Mientras que el tipo double es capaz de almacenar 15-16 dígitos significativos.
Por lo tanto estamos perdiendo información importante en este caso, puesto que queremos obtener el resto de una división, donde son importantes los terminos menos significativos.

En otras operaciones si se puede utilizar el tipo double sin problemas.

Un saludo a todos.

43
C/C++ / Re: problemas con el fmod
« en: Domingo 16 de Noviembre de 2008, 13:00 »
El problema es la presición. Cuando se realiza la operacion 7^67 y se guarda en un tipo double se pierden dígitos.

Una solución es dividir el problema y utiizar números más pequeños en las operaciones. Como esto:
Código: Text
  1.  
  2. #include <stdio.h>
  3.  
  4. int main()
  5. {
  6. int i, base, expo, mo, res=1;
  7. base=7;
  8. expo=67;
  9. mo=101;
  10. for(i=0; i< expo; i++)
  11. {
  12.        res = (res*base)%mo;
  13. }
  14. printf("%dn", res);
  15. return 0;
  16. }
  17.  
  18.  

que da el resultado esperado: 8.

El código se puede optimizar bastante, pero eso ya te lo dejo.

Un saludo.

44
PHP / Re: NO llegan mails a mi mismo servodor!!
« en: Lunes 8 de Septiembre de 2008, 18:56 »
Si es en el mismo servidor podrías probar:
Código: Text
  1.  $para = 'th3r0rn@localhost'; 
  2.  

45
PHP / Re: problema al conectar con db
« en: Lunes 1 de Septiembre de 2008, 17:05 »
Los campos de texo cuando se insertan van entre comillas. Por lo tanto sería:

Código: Text
  1.  
  2. mysql_query("INSERT INTO users (nombre,apellido,usuario,pass,email) VALUES ('$nombre','$apellido','$usuario','$pass','$email')",$conexion);
  3.  
  4.  

46
PHP / Re: problema al conectar con db
« en: Domingo 31 de Agosto de 2008, 00:50 »
Los datos para conectar a la base de datos te los tiene que dar la empresa donde alojas la página (que supongo que son los que te dan el servicio de la bases de datos incluido en el alojamiento).

Que no tiene porque estar necesariamente en la misma máquina.

47
PHP / Re: problema al conectar con db
« en: Domingo 31 de Agosto de 2008, 00:22 »
Cita de: "krosty4782"
Bueno habia contestado hace un rato pero no encuentro mi respuesta nose que paso :S.
Repito, que no creo que sea eso ya que el usuario y clave estan bien, lo que veo de raro es que, en vez de ingresar "localhost" intente con la ip que es 67.15.10.95 y tampoco va, pero lo raro es que al intentar entrar por el navegador a esa ip, da como area restringida. Pero a la vez, mi web es frogy.com.ar la cual tiene esa ip, y si me deja entrar poniendo "frogy.com.ar" creo que quiza eso pueda estar jodiendo ya que no deja acceder.
Saludos gracias

Lo más probable es que en el servidor esten alojadas varias web (hospedaje virtual). Cada una se distingue por el nombre (dominio) cuando se solite una página:
"ejemplouno.com" y "ejemplodos.com" pueden estar en el mismo servidor (tienen la misma ip), y según se utilice uno u otro te envirá la página correspondiente.

Si utilizas la IP te envirá a la página por defecto, que se seguramente el del proveedor del servicio.

48
C/C++ / Re: c++ programa de validacion
« en: Sábado 30 de Agosto de 2008, 00:18 »
tienes que cambiar la condición.

Código: Text
  1.  
  2. while(n<10 && n>70) //mientras n menor de 10 y mayor de 70; condición que no se cumple nunca
  3.  
  4.  

lo correcto seria:
mientras n sea menor de 10 o n sea mayor de 70
Código: Text
  1.  
  2. while(n<10 || n>70)
  3.  
  4.  

49
PHP / Re: Enviar formulario al hacer clic en 'enviar' y no al cargar
« en: Viernes 29 de Agosto de 2008, 23:33 »
Tienes que poner una condición para que no se jecute el código de creación y envío del correo miestras no se envíen los datos.

Por ejemplo:
Código: Text
  1.  
  2. if (isset($_POST['Nombre']))
  3. {
  4. /*código para creación y envío de correo*/
  5. }
  6.  
  7.  

con la función isset se comprueba que una variable contenga valor. Si tiene un valor es porque se envio en el formulario.

50
CSS / SASS / LESS / Re: [DIV] Problema con el margen.
« en: Miércoles 27 de Agosto de 2008, 23:52 »
podrias probar con la propiedad width

por ejemplo:
Código: Text
  1.  
  2. <div style='width:200px'>
  3.  
  4.  

Páginas: 1 [2] 3