• Lunes 20 de Mayo de 2024, 14:37

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 - mmerlo

Páginas: [1]
1
C/C++ / Re: Problemas Con Variables
« en: Miércoles 14 de Mayo de 2008, 13:16 »
Juasssss solo era eso XDDDDDDDDD Toda una mañada perdida por semejante tontería, y no es la primera vez que me pasa. Espero que esta sea la última.

Bueno, por lo menos he aprendido a usar un depurador... noy hay mal que por bien no venga

Muchísimas gracias por vuestra ayuda.

Saludos

2
C/C++ / Re: Problemas Con Variables
« en: Miércoles 14 de Mayo de 2008, 12:51 »
Veamos. Doy más detalles. Este es mí programa (no incluyo declaraciones de funciones ni tal por simplificar)

main ()
{
 
  double x,y,z,d,h,limit,r,t;
  double pos[3];
  double pos2[3];

  h=0.001;
  x=3.2;
  y=3.;
  z=10.;
  d=1.E-10;

  limit=1000;

  printf("\n%f",x);

  pos[1]=x;
  pos[2]=y;
  pos[3]=z;

  printf(".....%f\n",x);

  pos2[1]=pos[1]+d;
  pos2[2]=pos[2]+d;
  pos2[3]=pos[3]+d;

  r=21.;

  liavponov (pos,pos2,r,h,d,limit);

  //  fases (pos,r,h,limit,"fases1.dat");


  printf("\n%f   %f\n",x,x+d);
 
 fases (pos2,r,h,limit,"fases2.dat");

}

He investigado un poco acerca de lo que me comentó Eternal Idol y he conseguido esto. Usando GDB (nunca lo había hecho antes XDD de todo se aprende) obtengo esto:

GNU gdb 6.6.50.20070726-cvs
Copyright © 2007 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i586-suse-linux"...
Using host libthread_db library "/lib/libthread_db.so.1".
(gdb) break main
Breakpoint 1 at 0x8048518: file problema2.c, line 27.
(gdb) run
Starting program: /home/manuel/Asignaturas/Fisica no lineal/relacion4/problema2/problema2

Breakpoint 1, main () at problema2.c:27
27        h=0.001;
(gdb) next
28        x=3.2;
(gdb) next
29        y=3.;
(gdb) next
30        z=10.;
(gdb) next
31        d=1.E-10;
(gdb) next
33        limit=1000;
(gdb) next
36        printf("\n%f",x);
(gdb) next

38        pos[1]=x;
(gdb) next
39        pos[2]=y;
(gdb) next
40        pos[3]=z;
(gdb) print x                                <--- En este punto le pido que me muestre el valor de x
$1 = 3.2000000000000002
(gdb) next
42        printf(".....%f\n",x);
(gdb) print x
$2 = 10                                       <--- hago lo mismo aquí y resulta que es la funcion printf???
(gdb)

No lo entiendo...

3
C/C++ / Re: Problemas Con Variables
« en: Miércoles 14 de Mayo de 2008, 12:09 »
En primer lugar, muchas gracias por tu rápida respuesta.

Bueno, no se como debería poner un breakpoint en memoria. Si me dieras algunas indicaciones... creo que sabría hacerlo.

Y reducir más el código... más que eso...

4
C/C++ / Problemas Con Variables
« en: Miércoles 14 de Mayo de 2008, 11:19 »
Hola a todos. Estoy progamando unas cosillas para una asignatura, pero hay un pequeño problema que me trae de cabeza. En un momento del programa, le asigno a unas variables sus correspondientes valores, pero el valor de estas se modifica como por arte de magia!! Es un programa muy simple, y aunque no soy un experto, tengo algo de conocimientos de programación. Y la verdad, no veo donde está el problema. Como control, imprimo en pantalla mis variables para ver que pasa con ellas y esto es lo que ocurre:

En un momento del programa tengo esto:

...
  x=3.2;
  y=3.;
  z=10.;
  d=1.E-10;

  limit=50;
 
  printf("\n%f",x)  ;
 
  pos[1]=x;
  pos[2]=y;
  pos[3]=z;

  printf(".....%f\n",x);

...

Esto me devuelve:   3.200000.....10.000000

No es extraño???Quien modifica mi x???

programo con opensuse y esto me trae de cabeza. Ayuda!!!!

Páginas: [1]