Ver Mensaje Individual
  #3 (permalink)  
Antiguo 29/11/2010, 06:14
Phass
 
Fecha de Ingreso: julio-2009
Mensajes: 16
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Error Codigo!! Urge !! Problema al Leer Archivo !!

La mayor parte de esta función es así:
Código C++:
Ver original
  1. // Ahora se abre el archivo con esa ruta
  2.         ifstream Puntos_Muestra (route);
  3.  
  4.         // Se comprueba que el fichero se ha abierto correctamente
  5.         if (!Puntos_Muestra)
  6.         {
  7.             cout << endl << endl;
  8.             cout << "No se pudo abrir el fichero. No existe o la ruta no es valida.";
  9.             cout << endl << endl;
  10.             exit(1);
  11.         }
  12.        
  13.         else
  14.         {
  15.             cout << "hola";
  16.             // Dado que el fichero vendra con formato Vi, Wi, Xi... Zi
  17.             // F(Vi, Wi, Xi....Zi), habra que declarar variables para leer dichos
  18.             // valores
  19.             float x, f_x_y;
  20.            
  21.             // Vector que almacenara componentes de los puntos muestra
  22.             // Tendra el mismo tamanio como numero de variables haya
  23.             vector<float> componentes (n_var);
  24.            
  25.             // Variable que recogera el numero de puntos muestra (Xn, Yn, F(Xn, Yn))
  26.             int n_puntos_muestra = 0;
  27.            
  28.             // Variable que almacenara el valor fitness del individuo i
  29.             float valor_fitness = 0;
  30.  
  31.             // Procesamos el primer valor
  32.             Puntos_Muestra >> x;
  33.  
  34.             while (!Puntos_Muestra.eof()) // Sigue hacbiendo valores
  35.             {
  36.                
  37.                 for (int j = 0; j <  n_var; j++)
  38.                 {
  39.                     componentes[j] = x;
  40.                     Puntos_Muestra >> x;
  41.                 }
  42.                
  43.                 // Variable que recogera el output del individuo i asociado a (Xi, Yi)
  44.                 float output;
  45.                
  46.                 // Con los valores Xi, Yi, se calcular el Output del
  47.                 // individuo
  48.                 output = pob[i].Calcula_Output (componentes, straight_line);
  49.                
  50.                 // Se actualiza el valor del fitness
  51.                 float t = output - f_x_y;
  52.                 valor_fitness += pow (t, 2);
  53.                
  54.                 // Incrementamos el numero de puntos muestra leidos
  55.                 n_puntos_muestra++;
  56.                
  57.                 // Se lee el siguiente conjunto de puntos
  58.                 Puntos_Muestra >> x;
  59.             }
  60.            
  61.             // Se calcula el valor final del fitness diviendolo entre el numero de
  62.             // puntos muestra y se asocia al individuo i
  63.             valor_fitness /= n_puntos_muestra;
  64.            
  65.             // Se asigna dicho valor fitness al individuo
  66.             pob[i].fitness = valor_fitness;
  67.         }
  68.     }

En la línea 15 he puesto ese cout << "hola" para comprobar que se abre el fichero, lo que pasa que al ejecutar el pgroama, éste se para antes de que se ejecute ésta comprobación.

Gracias de nuevo