Ver Mensaje Individual
  #4 (permalink)  
Antiguo 16/02/2013, 11:57
vosk
 
Fecha de Ingreso: agosto-2012
Mensajes: 601
Antigüedad: 12 años, 5 meses
Puntos: 83
Respuesta: Problema entrada datos (novato)

Antes de nada, quita la cebecera conio porque no es estandar y usa getchar() en vez de system("pause"), quita tambien todas las cabeceras que no vayas a usar (en este caso y solo por lo que tienes en el codigo puedes usar solamente iostream y fstream), y como ultimo indenta el codigo; con esto no mejoras el proceso pero lo 'maquillas' a nivel de codigo.

Puedes probar a plantear el flujo de datos de otras formas: en vez de declarar una array de 2881 elementos puedes usar algo de memoria dinamica para expandir un contenedor, o crear listas enlazadas, o usar vectores. En c++ se recomienda usar los contenedores stl en vez de usar tus propios manejadores de memoria (aunque tambien puedes hacerlo, pero te será mas complejo). Con vectores y structs es facil:

Código:
typedef struct {
    int entero;
    float flotante;
} PAR;

vector <PAR> v_pares;
vector <PAR>::iterator itr;
PAR par;

//me salto lo de abrir archivo y comprovaciones de error
while (archivo.good()) {
    archivo >> par.entero >> par.flotante;
    v_pares.push_back(par);
}

//vuelcas los datos con un iterador
for(itr = v_pares.begin(); itr < v_pares.end(); itr++) {
    cout << (*itr).entero << ", " << (*itr).flotante << endl;
}

//tambien puedes acceder a los elementos del vector como si fuese un array
for(int q = 0; q < v_pares.size(); q++) {
    cout << v_pares[q].entero << ", " << v_pares[q].flotante << endl;
}

//liberas el vector
v_pares.clear();
De esta forma puedes cargar todo el archivo sin preocuparte por el numero de elementos que guardas.

Saludos
vosk