Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Leer desde un fichero

Estas en el tema de Leer desde un fichero en el foro de C/C++ en Foros del Web. Necesito leer este fichero y guardarlos en matrizes separadas por cada elemento. Agradeceria algun ayuda Aire 100 3.5562 1.032 711000000 2000000 9340 2540000 0.786 150 ...
  #1 (permalink)  
Antiguo 31/05/2012, 12:03
 
Fecha de Ingreso: mayo-2012
Mensajes: 6
Antigüedad: 12 años, 5 meses
Puntos: 0
Pregunta Leer desde un fichero

Necesito leer este fichero y guardarlos en matrizes separadas por cada elemento.
Agradeceria algun ayuda
Aire
100 3.5562 1.032 711000000 2000000 9340 2540000 0.786
150 2.3364 1.012 1034000000 4426000 13800 5840000 0.758
200 1.7458 1.007 1325000000 7590000 18100 10300000 0.737
250 1.3947 1.006 1596000000 11440000 22300 15900000 0.720
300 1.1614 1.007 1846000000 15890000 26300 22500000 0.707
350 0.9950 1.009 2082000000 20920000 30000 29900000 0.700
400 0.8711 1.014 2301000000 26410000 33800 38300000 0.690
450 0.7740 1.021 2507000000 32390000 37300 47200000 0.684
500 0.6964 1.030 2701000000 38790000 40700 56700000 0.684
550 0.6329 1.040 2884000000 45570000 43900 66700000 0.683
600 0.5804 1.051 3058000000 52690000 46900 76900000 0.685
650 0.5356 1.063 3225000000 60210000 49700 87300000 0.690
700 0.4975 1.075 3388000000 68100000 52400 98000000 0.695
750 0.4643 1.087 3546000000 76370000 54900 109000000 0.702
800 0.4354 1.099 3698000000 84930000 57300 120000000 0.709
850 0.4097 1.110 3843000000 93800000 59600 131000000 0.716
900 0.3868 1.121 3981000000 102900000 62000 143000000 0.720
950 0.3666 1.131 4113000000 112200000 64300 155000000 0.723
1000 0.3482 1.141 4244000000 121900000 66700 168000000 0.726
1100 0.3166 1.159 4490000000 141800000 71500 195000000 0.728
1200 0.2902 1.175 4730000000 162900000 76300 224000000 0.728
1300 0.2679 1.189 4960000000 185100000 82000 238000000 0.719
1400 0.2488 1.207 5300000000 213000000 91000 303000000 0.703
1500 0.2322 1.230 5570000000 240000000 100000 350000000 0.685
1600 0.2177 1.248 5840000000 268000000 106000 390000000 0.688
1700 0.2049 1.267 6110000000 298000000 113000 435000000 0.685
1800 0.1935 1.286 6370000000 329000000 120000 482000000 0.683
1900 0.1833 1.307 6630000000 362000000 128000 534000000 0.677
2000 0.1741 1.337 6890000000 396000000 137000 589000000 0.672
2100 0.1658 1.372 7150000000 431000000 147000 646000000 0.667
2200 0.1582 1.417 7400000000 468000000 160000 714000000 0.655
2300 0.1513 1.478 7660000000 506000000 175000 783000000 0.647
2400 0.1448 1.558 7920000000 547000000 196000 869000000 0.630
2500 0.1389 1.665 8180000000 589000000 222000 960000000 0.613
3000 0.1135 2.726 9550000000 841000000 486000 1570000000 0.536
Amoniaco (NH3)
300 0.6894 2.158 1015000000 14700000 24700 16600000 0.887
320 0.6448 2.170 1090000000 16900000 27200 19400000 0.870
340 0.6059 2.192 1165000000 19200000 29300 22100000 0.872
360 0.5716 2.221 1240000000 21700000 31600 24900000 0.872
380 0.5410 2.254 1310000000 24200000 34000 27900000 0.869
400 0.5136 2.287 1380000000 26900000 37000 31500000 0.853
420 0.4888 2.322 1450000000 29700000 40400 35600000 0.833
440 0.4664 2.357 1525000000 32700000 43500 39600000 0.826
460 0.4460 2.393 1590000000 35700000 46300 43400000 0.822
480 0.4273 2.430 1665000000 39000000 49200 47400000 0.822
500 0.4101 2.467 1730000000 42200000 52500 51900000 0.813
520 0.3942 2.504 1800000000 457000000 54500 55200000 0.827
540 0.3795 2.540 1865000000 491000000 57500 59700000 0.824
560 0.3708 2.577 1930000000 520000000 60600 63400000 0.827
580 0.3533 2.613 1995000000 565000000 63800 69100000 0.817
Dióxido de Carbono (CO2)
280 1.9022 0.830 1400000000 7360000 15200 9630000 0.765
300 1.7730 0.851 1490000000 8400000 16550 11000000 0.766
320 1.6609 0.872 1560000000 9390000 18050 12500000 0.754
340 1.5618 0.891 1650000000 10600000 19700 14200000 0.741
360 1.4743 0.908 1730000000 11700000 21200 15800000 0.741
380 1.3961 0.926 1810000000 13000000 22750 17600000 0.737
400 1.3257 0.942 1900000000 14300000 24300 19500000 0.737
450 1.1782 0.981 2100000000 17800000 28300 24500000 0.728
500 1.0594 1.02 2310000000 21800000 32500 30100000 0.725
550 0.9625 1.05 2510000000 261000000 36600 36200000 0.721
600 0.8826 1.08 2700000000 306000000 40700 42700000 0.717
650 0.8143 1.10 2880000000 354000000 44500 49700000 0.712
700 0.7564 1.13 3050000000 403000000 48100 56300000 0.717
750 0.7057 1.15 3210000000 455000000 51700 63700000 0.714
800 0.6614 1.17 3370000000 510000000 55100 71200000 0.716
Monóxido de Carbono (CO)
200 1.6888 1.045 1270000000 7520000 17000 9630000 0.781
220 1.5341 1.044 1370000000 8930000 19000 11900000 0.753
240 1.4055 1.043 1470000000 10500000 20600 14100000 0.744
260 1.2967 1.043 1570000000 12100000 22100 16300000 0.741
280 1.2038 1.042 1660000000 13800000 23600 18800000 0.733
300 1.1233 1.043 1750000000 15600000 25000 21300000 0.730
320 1.0529 1.043 1840000000 17500000 26300 23900000 0.730
340 0.9909 1.044 1930000000 19500000 27800 26900000 0.725
360 0.9357 1.045 2020000000 21600000 29100 29800000 0.725
380 0.8864 1.047 2100000000 23700000 30500 32900000 0.729
400 0.8421 1.049 2180000000 25900000 31800 36000000 0.719
450 0.7483 1.055 2370000000 31700000 35000 44300000 0.714
500 0.67352 1.065 2540000000 37700000 38100 53100000 0.710
550 0.61226 1.076 2710000000 443000000 41100 62400000 0.710
600 0.56126 1.088 2860000000 510000000 44000 72100000 0.707
650 0.51806 1.101 3010000000 581000000 47000 82400000 0.705
700 0.48102 1.114 3150000000 655000000 50000 93300000 0.702
750 0.44899 1.127 3290000000 733000000 52800 104000000 0.702
800 0.42095 1.140 3430000000 815000000 55500 116000000 0.705
Hidrogeno (H2)
100 0.24255 11.23 421000000 17400000 670000 24600000 0.707
150 0.16156 12.60 560000000 34700000 101000 49600000 0.699
200 0.12115 13.54 681000000 56200000 131000 79900000 0.704
250 0.09693 14.06 789000000 81400000 157000 115000000 0.707
300 0.08078 14.31 896000000 111000000 183000 158000000 0.701
350 0.06924 14.43 988000000 143000000 204000 204000000 0.700
400 0.06059 14.48 1082000000 179000000 226000 258000000 0.695
450 0.05386 14.50 1172000000 218000000 247000 316000000 0.689
500 0.04848 14.52 1264000000 261000000 266000 378000000 0.691
550 0.04407 14.53 1343000000 305000000 285000 445000000 0.685
600 0.04040 14.55 1424000000 352000000 305000 519000000 0.678
700 0.03463 14.61 1578000000 456000000 342000 676000000 0.675
800 0.03030 14.70 1724000000 569000000 378000 849000000 0.670
900 0.02694 14.83 1865000000 692000000 412000 1030000000 0.671
1000 0.02424 14.99 2013000000 830000000 448000 1230000000 0.673
1100 0.02204 15.17 2130000000 966000000 488000 1460000000 0.662
1200 0.02020 15.37 2262000000 1120000000 528000 1700000000 0.659
1300 0.01865 15.59 2385000000 1279000000 568000 1955000000 0.655
1400 0.01732 15.81 2507000000 1447000000 610000 2230000000 0.650
1500 0.01616 16.02 2627000000 1626000000 655000 2530000000 0.643
1600 0.0152 16.28 2737000000 1801000000 697000 2815000000 0.639
1700 0.0143 16.58 2849000000 1992000000 742000 3130000000 0.637
1800 0.0135 16.96 2961000000 2193000000 786000 3435000000 0.639
1900 0.0128 17.49 3072000000 2400000000 835000 3730000000 0.643
2000 0.0121 18.25 3182000000 2630000000 878000 3975000000 0.661
Nitrógeno (N2)
100 3.4388 1.070 688000000 2000000 9580 2600000 0.768
150 2.2594 1.050 1006000000 4450000 13900 5860000 0.759
200 1.6883 1.043 1292000000 7650000 18300 10400000 0.736
250 1.3488 1.042 1549000000 11480000 22200 15800000 0.727
300 1.1233 1.041 1782000000 15860000 25900 22100000 0.716
350 0.9625 1.042 2000000000 20780000 29300 29200000 0.711
400 0.8425 1.045 2204000000 26160000 32700 37100000 0.704
450 0.7485 1.050 2396000000 32010000 35800 45600000 0.703
500 0.6739 1.056 2577000000 38240000 38900 54700000 0.700
550 0.6124 1.065 2747000000 44860000 41700 63900000 0.702
600 0.5615 1.075 2908000000 51790000 44600 73900000 0.701
700 0.4812 1.098 3210000000 66710000 49900 94400000 0.706
800 0.4211 1.22 3491000000 82900000 54800 116000000 0.715
900 0.3743 1.146 3753000000 100300000 59700 139000000 0.721
1000 0.3368 1.167 3999000000 118700000 64700 165000000 0.721
1100 0.3062 1.187 4232000000 138200000 70000 193000000 0.718
1200 0.2807 1.204 4453000000 158600000 75800 224000000 0.0707
1300 0.2591 1.219 4662000000 179900000 81000 256000000 0.701
Oxígeno (O2)
100 3.945 0.962 764000000 1940000 9250 2440000 0.796
150 2.585 0.921 1148000000 4440000 13800 5800000 0.766
200 1.930 0.915 1475000000 7640000 18300 10400000 0.737
250 1.542 0.915 1786000000 11580000 22600 16000000 0.723
300 1.284 0.920 2072000000 6140000 26800 22700000 0.711
350 1.100 0.929 2335000000 21230000 29600 29000000 0.733
400 0.962 0.942 2582000000 26840000 33000 36400000 0.737
450 0.855 0.956 2814000000 32900000 36300 44400000 0.741
500 0.769 0.972 3033000000 39400000 41200 55100000 0.716
550 0.6998 0.988 3240000000 46300000 44100 63800000 0.726
600 0.6414 1.003 3437000000 53590000 47300 73500000 0.729
700 0.5498 1.031 3808000000 69260000 52800 93100000 0.744
800 0.4810 1.054 4152000000 86320000 58900 116000000 0.743
900 0.4275 1.074 4472000000 104600000 64600 141000000 0.740
1000 0.3848 1.090 4770000000 124000000 71000 169000000 0.733
1100 0.3498 1.103 5055000000 144500000 75800 196000000 0.736
1200 0.3206 1.115 5325000000 166100000 81900 229000000 0.725
1300 0.2960 1.125 5884000000 188600000 87100 262000000 0.721
  #2 (permalink)  
Antiguo 31/05/2012, 23:26
 
Fecha de Ingreso: diciembre-2011
Ubicación: CABA
Mensajes: 433
Antigüedad: 12 años, 10 meses
Puntos: 94
Respuesta: Leer desde un fichero

mmm mmm no se si vas a poder guardar todo eso en matrices, la primera es de 35x8!!! encima las matrices van a tener q ser float.... Para recuperar esos numero del archivo tenes la funcion fscanf

Saludos
  #3 (permalink)  
Antiguo 01/06/2012, 02:13
 
Fecha de Ingreso: diciembre-2008
Mensajes: 50
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: Leer desde un fichero

Yo lo haría así para cada matriz, dependiendo los for de la cantidad de datos...

Código C:
Ver original
  1. main()
  2. {
  3. FILE *pf;
  4.  
  5. pf = fopen...
  6.  
  7. /*Operaciones que desees hacer*/
  8.  
  9. float aire[35][8];
  10.  
  11. int i=0, j=0;
  12.  
  13. for(i=0; i<35; ¡++){
  14.     for(j=0; j<8; j++)
  15.          fscanf(pf, "%f", &aire[i][j]);
  16. }
  17. /*El resto del programa que desees*/
  18. }
  #4 (permalink)  
Antiguo 01/06/2012, 08:23
 
Fecha de Ingreso: mayo-2012
Mensajes: 6
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: Leer desde un fichero

Al final lo que hice fue hacer un ficheropara cada elemento pero cuando muestro un mensaje con el valor que deve tener la matriz no tiene lada que ver con lo que esta en el fichero, mi codigo es este
using namespace std;
FILE *pf;
pf = fopen("Aire.txt","r");
/*Operaciones que desees hacer*/
if (pf!=NULL)
{
double aire[35][8];
int i=0, j=0;
for(i=0; i<35; i++)
{
for(j=0; j<8; j++)
fscanf(pf, "%f", &aire[i][j]);
}
ShowMessage(aire[0][0]); -------------- cuando muestro este mensaje no me muestra lo del fichero
}
else
ShowMessage("Fichero vacio");
  #5 (permalink)  
Antiguo 01/06/2012, 08:55
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años, 7 meses
Puntos: 228
Respuesta: Leer desde un fichero

Que es la funcion ShowMessage??? De donde la sacaste??
  #6 (permalink)  
Antiguo 01/06/2012, 11:03
 
Fecha de Ingreso: mayo-2012
Mensajes: 6
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: Leer desde un fichero

Esa funcion es para mostar un mensage, pero el lio esta en que lo que me esta leyendo del ficheo no es el contenido me lee unos numero con errores y cosas asi
y no se porque pasa eso
  #7 (permalink)  
Antiguo 02/06/2012, 06:11
 
Fecha de Ingreso: diciembre-2008
Mensajes: 50
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: Leer desde un fichero

Cita:
Iniciado por newneo5109ster Ver Mensaje
Esa funcion es para mostar un mensage, pero el lio esta en que lo que me esta leyendo del ficheo no es el contenido me lee unos numero con errores y cosas asi
y no se porque pasa eso


Código C:
Ver original
  1. FILE *pf;
  2. pf = fopen("Aire.txt","r");
  3. /*Operaciones que desees hacer*/
  4. if (pf!=NULL)
  5. {
  6. double aire[35][8];
  7. int i=0, j=0;
  8. for(i=0; i<35; i++)
  9. {
  10. for(j=0; j<8; j++)
  11. fscanf(pf, "%f", &aire[i][j]);
  12. }
  13. ShowMessage(aire[0][0]);   // cuando muestro este mensaje no me muestra lo del fichero
  14. }
  15. else
  16. ShowMessage("Fichero vacio");

Lo primero:
Código C:
Ver original
  1. else
  2. ShowMessage("Fichero vacio");

debería ser
Código C:
Ver original
  1. else
  2. printf("Error al abrir el fichero");
ya que si pf == NULL no significa que el fichero esté vacio, sino que la función fopen te ha dado un error y ha abierto mal el fichero.

Lo segundo: Sin la función Show message no te podemos ayudar, pero si lo que quieres es mostrar la matriz, con algo así podrias:

Código C:
Ver original
  1. //Sería necesario que dieses las dimensiones de la matriz, nXm
  2. void mostrar_matriz(float *matriz, int n, int m)
  3. {
  4. int i=0, j=0;
  5.  
  6. for(i=0; i<n; ¡++){
  7.     for(j=0; j<m; j++)
  8.          printf("%f", matriz[i][j]);
  9. }

Etiquetas: fichero
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:41.