necesito leer datos de un archivo texto, pero deben ser mostrados en la pantalla como vectores, en el archivo de texto estan: nombre, capacidad, coordenada x, coordenada y, y necesito que me lea un vector de nombre, y asi para cada variable, ademas quiero que me calcule la matriz de distancias y que la presente en la pantalla, por favor ayudemen. Yo avance hasta esto: donde se supone que lee el archivo:
Código:
#include <iostream>
#include <vector>
#include <cmath> // requerido para sqrt al calcular las distancias
#include <fstream> // para leer los datos desde un archivo
#include <sstream> // para el bufer temporal para procesar líneas
using namespace std;
const string ARCHIVO_DATOS="distancias.txt";
int main()
{
// Datos generales
unsigned int n; // número de recintos
vector<string> nom_recintos; // nombres de recintos
vector<unsigned int> capacidades; // capacidades por recintos
vector<double> x_rec; // coordenadas x de recinto
vector<double> y_rec; // coordenadas y de recinto
// Lectura de datos desde archivo
ifstream f(ARCHIVO_DATOS.c_str());
string linea;
if (f.is_open()) // este "if" es para controlar posibles errores de apertura
{
unsigned int l=0; // registra el núm. de línea actual
while (! f.eof() ) // continuar lectura hasta llegar al final del archivo...
{
getline (f,linea); // leer una línea
if(linea[0]=='%') continue; // saltar comentarios
// Poner la línea en un bufer temporal para procesarla
stringstream buf;
buf.str("");
buf << linea;
if(l==0) {
// Leyendo la primera línea...
buf >> n ;
nom_recintos.resize(n);
capacidades.resize(n);
x_rec.resize(n);
y_rec.resize(n);
}
else {
if((l>=1) && (l<=n)) {
// Leyendo una línea de instalaciones
buf >> nom_recintos[l-1] >> capacidades[l-1] >> x_rec[l-1] >> y_rec[l-1];
}
}
}
cout << capacidades[l-1]
l++;
}
f.close();
}
el archivo de datos es:
//NOMBRE NUM_ELECTORES X Y
ESC._FISCAL_RIOBAMBA 2845 772817,1711 9960679,5230
ESC._CARLOS_GUERRA 2194 771146,8994 9962029,6602
COL._FUND._VIDA_NUEVA 4025 772739,6793 9962495,7879
ESC._JIM_IRVIN 2230 773400,8594 9963600,0637
INST._EDU._CELIANO_MONGE 2773 772732,7750 9964302,7407
ESC._NUEVA_AURORA 4450 772285,4650 9964660,6309
ESC._CARLOS_PONCE_MARTINEZ 3177 772562,4006 9966336,6365
ESC._ABDON_CALDERON_MUÑOZ 7493 771704,8158 9966364,4887
COL._ARTURO_BORJA 3443 771122,0194 9966491,8457
ESC._LUIS_FERNANDO_RAZA 3131 775510,3281 9966841,1181
COL._PRIMICIAS_DE_LA_C_DE_QUITO 7415 771521,2755 9967391,5178
ESC._NICOLAS_GUILLEN 3463 775484,5582 9967652,5135
UNIDAD_EDUCATIVA_QUITUMBE 20034 772811,7195 9968637,7247
UNIVERSIDAD_POLITECNICA_SALESIANA 20034 772752,2770 9968790,7412
AC._NAV._ALMIRANTE_HOWARD 16028 772026,5804 9968927,3024
AC._AERONAUTICA_PEDRO_TRAVERSARI 16028 771933,6974 9968947,6780
COL._TECNICO_MIGUEL_DE_SANTIAGO 6835 773144,0343 9969013,8038
UN._ED._RINCON_DEL_SABER 4396 772052,6528 9969515,5241
COL._PART._JESUS_DE_NAZARETH 4007 772294,0174 9969579,9727
ESC._MARQUEZA_DE_SOLANDA 10017 772464,7929 9969756,9484
ESC._EDUARDO_VASQUEZ_DODERO 10017 773816,1522 9969893,1929
COL._MARIA_AUGUSTA_URRUTIA 4776 773814,3908 9969994,5328
ESC._SAN_GABRIEL 10017 773389,3389 9970359,7061
COL._GONZALO_ZALDUMBIDE 4733 773714,2596 9970531,1215
INS_SUP_CONSEJO_PROVINCIAL_DE_PICHINCHA 30052 774237,7682 9970709,9104
UNIV._TECNICA_DE_GUAYAQUIL 4481 772793,5688 9970835,5428
ESC._OSWALDO_GUAYASAMIN 10017 775089,9700 9971533,9616
ESC._JOSE_MIGUEL_LEORO_VASQUEZ 4114 772454,0421 9971717,0123