Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: karmele85 en 6 Julio 2010, 19:21 pm



Título: Convertir char ** en double
Publicado por: karmele85 en 6 Julio 2010, 19:21 pm
Hola!
A ver si alguien me puede echar una mano, porqe me estoy volviendo loca!!
tengo un char ** x19 que tiene en cada posicion una cadena que corresponde a un numero double, quiero convertir cada cadena a una variable de tipo double, e probado atof, strtod... pero no hay manera.
Si pongo double x190;
x190= atof(x19[0]); x190 me da 227688.00000 y si pongo x190= atof(*x19[0]); me da error de ejecucion!!
Alguien puede ayudarme??
Gracias!!!!
Karmele.


Título: Re: Convertir char ** en double
Publicado por: nicolas_cof en 6 Julio 2010, 19:33 pm
karmele85, intenta poner el codigo entero, asi es mas facil poder ayudarte!

Salu10.


Título: Re: Convertir char ** en double
Publicado por: Littlehorse en 6 Julio 2010, 20:19 pm
karmele85, es necesario como minimo ver como estan declarados los tipos de datos y la lectura de los mismos. Tambien es necesario ver como estas realizando la reserva de memoria dinamica.

Postea el código que llevas hecho.

Saludos!



He borrado algunos mensajes que resolvían la tarea. Ya saben como son las reglas en este tipo de casos, esperen a ver el código inicial.


Título: Re: Convertir char ** en double
Publicado por: karmele85 en 6 Julio 2010, 20:25 pm
En el main tengo esto:

Código
  1. do
  2. {
  3.         /* Leer linea por linea*/
  4. /* if(c != NULL){*/
  5.  
  6.          c=fgets(palabra,130, fitxategi_ptr);
  7.          numfilas1++;
  8.  
  9.          if(c != NULL)
  10.          {          
  11.               len= strlen(c);  
  12.           while(i<len)
  13.           {
  14.           len= strlen (c);
  15.           j= len+1;
  16.            if(c[i]== '/' && c[i+1] == '/')
  17.            {
  18.             while(j>i)
  19.             {
  20.              c[j] = c[j-1];        
  21.              j--;
  22.             }
  23.             c[i+1] = ' ';
  24.  
  25.            }
  26.            i++;
  27.           }
  28.           i=0;
  29.           ret = split(c,sep1);
  30.           while (h<=19)
  31.           {
  32.            matriz[w][h]=ret[h];    
  33.            h++;
  34.           }
  35.           h=0;
  36.           w++;
  37.          }
  38.        }  
  39.       while (c != NULL);
  40.  
  41.  
  42. char **x19[numfilas];
  43.    while (kontx < numfilas)
  44.    {
  45.     x19[kontx] = matriz[kontx][18];
  46.     kontx++;
  47.    }
  48.  
  49.  
  50. thta(numfilas,&x19, &th, &ta);



y la funcion thta:

Código
  1. double thta (int lerrokop, char ** x19, double *th, double *ta)
  2. {
  3.  
  4. Aqui tengo que hacer calculos con los numeros que contiene x19
  5.  
  6. }

Gracias!!!!


Título: Re: Convertir char ** en double
Publicado por: [L]ord [R]NA en 6 Julio 2010, 20:26 pm
Coloca el codigo dentro de las etiquetas GESHI


Título: Re: Convertir char ** en double
Publicado por: karmele85 en 6 Julio 2010, 20:35 pm
Ya lo e conseguido!
double xd19[NUMFILAS];
while(J < NUMFILAS)
{
xd19[j]=atof(x19[j]);
j++;
}

No se utilizar als ghesi esas, sorry!!