Home   Artículos   Recursos   Foros   
Artíclos recientes publicados en Latindevelopers:

Visual C++: NSDoubleEdit: Un control para el manejo de números decimales en Visual C++.
Visual C++: Implementando una Calculadora en Visual C++
Visual C++: CCommandLine: Una clase para el uso de la linea de comando
Visual C++: Una clase para el manejo del Registro


matrices en C

Preguntas y respuestas sobre el lenguaje de programacion C/C++

matrices en C

Notapor ferri_mar el Jue Mar 01, 2007 6:42 am

Hola a todos!!
Necesito vuestra ayuda...
A ver ,estoy generando un codigo en C que quiero que me lea ficheros de datos de F filas(1008) y d C columnas(variable de un ficheros a otro).
Asi,pues quiero leer los ficheros como matrices de FILAS filas y COL columnas.
El numero de columnas de cada fichero,lo obtengo con una rutina y lo almaceno en la variable total_mag.
Al escribir este codigo:

Código: Seleccionar todo
FILAS 200
COL 40 /*40 es el numero maximo de columnas que puede tener*/

static gdouble mat[FILAS][COL];

for(i=0;i<FILAS;i++)
    {
             
       for(j=0;j<total_mag;j++)
        {
            fscanf(fp,"%lf",&mat[i][j]);
        }
    }                                           
     
    g_print("elemento 6_6 es :%lf",mat[6][6]);

no me escribe ese elemento sino otro!

Me podeis ayudar??

gracias
ferri_mar
Novato
Novato
 
Mensajes: 6
Registrado: Vie Sep 29, 2006 4:50 am

Re: matrices en C

Notapor latindeveloper el Jue Mar 01, 2007 11:31 am

Para poder ayudarte podrías mostrarnos parte del archivo del cual extraes los numeros.
Imagen
Avatar de Usuario
latindeveloper
Administrador
Administrador
 
Mensajes: 1061
Registrado: Lun Jun 02, 2003 8:29 pm
Ubicación: Peru

Re: matrices en C

Notapor ferri_mar el Vie Mar 02, 2007 3:31 am

Hola de nuevo!!
Aqui teneis un archvo tipo....
(faltan filas,porque en realidad tiene 1008,pero eso no es importante)
Muchas gracias
ferri_mar
Novato
Novato
 
Mensajes: 6
Registrado: Vie Sep 29, 2006 4:50 am

Re: matrices en C

Notapor ferri_mar el Vie Mar 02, 2007 3:31 am

Hola de nuevo!!
Aqui teneis un archvo tipo....
(faltan filas,porque en realidad tiene 1008,pero eso no es importante)
MuchaESTACION:ARAGóN CODIGO:46250033
FECHA HORA SO2 CO O3 NO NO2 NOx PST CH4 HCs HNM VALIDACION
MM/DD/AAAA hh:mm ug/m3 mg/m3 ug/m3 ug/m3 ug/m3 ug/m3 ug/m3 mg/m3N mg/m3N mg/m3N
02/20/2006 00:10 3.00 0.10 44.00 61.00 50.00 143.00 5.00 1.40 7.60 0.20 aiaaaaaaaa
02/20/2006 00:20 3.00 0.10 41.00 58.00 57.00 147.00 5.00 1.40 7.70 0.20 aiaaaaaaaa
02/20/2006 00:30 3.00 0.10 42.00 60.00 66.00 158.00 5.00 1.40 7.60 0.20 aiaaaaaaaa
02/20/2006 00:40 3.00 0.10 47.00 66.00 57.00 157.00 5.00 1.40 7.60 0.20 aiaaaaaaaa
02/20/2006 00:50 3.00 0.10 50.00 63.00 34.00 130.00 5.00 1.40 7.80 0.20 aiaaaaaaaa
02/20/2006 01:00 3.00 0.10 49.00 60.00 30.00 123.00 5.00 1.40 7.80 0.20 aiaaaaaaaa
02/20/2006 01:10 3.00 0.10 49.00 60.00 30.00 121.00 5.00 1.40 7.80 0.20 aiaaaaaaaa
02/20/2006 01:20 3.00 0.10 49.00 61.00 27.00 121.00 5.00 1.50 8.00 0.20 aiaaaaaaaa
02/20/2006 01:30 3.00 0.10 49.00 61.00 24.00 118.00 5.00 1.50 7.90 0.20 aiaaaaaaaa
02/20/2006 01:40 3.00 0.10 49.00 54.00 23.00 106.00 5.00 1.40 7.70 0.20 aiaaaaaaaa
02/20/2006 01:50 3.00 0.10 47.00 57.00 25.00 112.00 5.00 1.40 7.80 0.20 aiaaaaaaaa
02/20/2006 02:00 3.00 0.10 47.00 63.00 26.00 123.00 5.00 1.40 7.80 0.20 aiaaaaaaaa
02/20/2006 02:10 3.00 0.10 49.00 62.00 25.00 120.00 5.00 1.50 7.90 0.20 aiaaaaaaaa
02/20/2006 02:20 3.00 0.10 50.00 65.00 20.00 120.00 5.00 1.50 8.10 0.20 aiaaaaaaaa
02/20/2006 02:30 3.00 0.10 52.00 188.00 16.00 304.00 5.00 1.50 8.10 0.20 aiaaaaaaaa
02/20/2006 02:40 3.00 0.10 52.00 104.00 16.00 177.00 5.00 1.50 8.10 0.20 aiaaaaaaaa
02/20/2006 02:50 3.00 0.10 53.00 73.00 17.00 129.00 5.00 1.50 8.10 0.20 aiaaaaaaaa
02/20/2006 03:00 3.00 0.10 53.00 70.00 15.00 122.00 5.00 1.50 8.10 0.20 aiaaaaaaaa
02/20/2006 03:10 3.00 0.10 53.00 66.00 19.00 120.00 5.00 1.50 7.90 0.20 aiaaaaaaaa
02/20/2006 03:20 3.00 0.10 52.00 67.00 22.00 124.00 5.00 1.50 8.00 0.20 aiaaaaaaaa
02/20/2006 03:30 3.00 0.10 49.00 63.00 21.00 118.00 5.00 1.50 7.90 0.20 aiaaaaaaaa
02/20/2006 03:40 3.00 0.10 49.00 64.00 16.00 115.00 5.00 1.40 7.80 0.20 aiaaaaaaaa
02/20/2006 03:50 3.00 0.10 48.00 67.00 23.00 126.00 5.00 1.40 7.80 0.20 aiaaaaaaaa
02/20/2006 04:00 3.00 0.10 48.00 65.00 21.00 120.00 5.00 1.50 8.00 0.20 aiaaaaaaaa
02/20/2006 04:10 3.00 0.10 47.00 72.00 22.00 132.00 5.00 1.50 8.20 0.20 aiaaaaaaaa
02/20/2006 04:20 3.00 0.10 48.00 80.00 20.00 142.00 5.00 1.50 8.20 0.20 aiaaaaaaaa
02/20/2006 04:30 3.00 0.10 46.00 79.00 19.00 141.00 5.00 1.40 7.90 0.20 aiaaaaaaaa
02/20/2006 04:40 3.00 0.10 43.00 80.00 24.00 147.00 5.00 1.40 7.50 0.20 aiaaaaaaaa
02/20/2006 04:50 3.00 0.10 40.00 77.00 30.00 149.00 5.00 1.40 7.50 0.20 aiaaaaaaaa
02/20/2006 05:00 3.00 0.10 41.00 71.00 27.00 137.00 5.00 1.70 9.10 0.20 aiaaaaaaaa
02/20/2006 05:10 3.00 0.10 41.00 71.00 25.00 134.00 5.00 1.90 10.20 0.20 aiaaaaaaaa
02/20/2006 05:20 3.00 0.10 38.00 76.00 36.00 152.00 5.00 1.60 8.70 0.20 aiaaaaaaaa
02/20/2006 05:30 3.00 0.10 34.00 84.00 41.00 170.00 5.00 1.50 8.00 0.20 aiaaaaaaaa
02/20/2006 05:40 3.00 0.10 32.00 84.00 40.00 170.00 5.00 1.50 8.00 0.20 aiaaaaaaaa
02/20/2006 05:50 3.00 0.10 30.00 89.00 48.00 185.00 5.00 1.50 8.00 0.20 aiaaaaaaaa
02/20/2006 06:00 3.00 0.10 26.00 95.00 62.00 207.00 5.00 1.50 8.00 0.20 aiaaaaaaaa
02/20/2006 06:10 3.00 0.10 23.00 99.00 65.00 217.00 5.00 1.50 7.90 0.20 aiaaaaaaaa
02/20/2006 06:20 3.00 0.10 18.00 103.00 71.00 228.00 5.00 1.50 7.90 0.20 aiaaaaaaaa
02/20/2006 06:30 3.00 0.10 12.00 152.00 89.00 322.00 5.00 1.50 8.00 0.20 aiaaaaaaaa
02/20/2006 06:40 3.00 0.10 7.00 201.00 106.00 414.00 5.00 1.50 8.00 0.20 aiaaaaaaaa
s gracias
ferri_mar
Novato
Novato
 
Mensajes: 6
Registrado: Vie Sep 29, 2006 4:50 am

Re: matrices en C

Notapor yalmar el Vie Mar 02, 2007 8:15 pm

lo que puedes hacer es leer todos los elementos de cada fila del archivo como cadenas(string) y las que corresponden a valores flotantes conviertelas con atof.

Pero creo que para este tipo de problemas es mejor usar lenguajes script.

salu2
Avatar de Usuario
yalmar
Programador Experimentado
Programador Experimentado
 
Mensajes: 252
Registrado: Mié Jun 09, 2004 4:13 pm
Ubicación: Brasil

Re: matrices en C

Notapor latindeveloper el Vie Mar 16, 2007 11:46 am

El programa que muestas inicialmente funciona perfectamente para un archivo que contenga lo siguiente:

3.00 0.10 44.00 61.00 50.00 143.00 5.00 1.40 7.60 0.20
3.00 0.10 41.00 58.00 57.00 147.00 5.00 1.40 7.70 0.20
3.00 0.10 42.00 60.00 66.00 158.00 5.00 1.40 7.60 0.20
3.00 0.10 47.00 66.00 57.00 157.00 5.00 1.40 7.60 0.20
3.00 0.10 0.00 63.00 34.00 130.00 5.00 1.40 7.80 0.20
3.00 0.10 49.00 60.00 30.00 123.00 5.00 1.40 7.80 0.20
3.00 0.10 49.00 60.00 30.00 121.00 5.00 1.40 7.80 0.20
3.00 0.10 49.00 61.00 27.00 121.00 5.00 1.50 8.00 0.20


Pero tu archivo es de la forma:

ESTACION:ARAGóN CODIGO:46250033
FECHA HORA SO2 CO O3 NO NO2 NOx PST CH4 HCs HNM VALIDACION
MM/DD/AAAA hh:mm ug/m3 mg/m3 ug/m3 ug/m3 ug/m3 ug/m3 ug/m3 mg/m3N mg/m3N mg/m3N

02/20/2006 00:10 3.00 0.10 44.00 61.00 50.00 143.00 5.00 1.40 7.60 0.20 aiaaaaaaaa
02/20/2006 00:20 3.00 0.10 41.00 58.00 57.00 147.00 5.00 1.40 7.70 0.20 aiaaaaaaaa
02/20/2006 00:30 3.00 0.10 42.00 60.00 66.00 158.00 5.00 1.40 7.60 0.20 aiaaaaaaaa

Para lo cual necesitas leer primero las partes que estan en negrita.
Imagen
Avatar de Usuario
latindeveloper
Administrador
Administrador
 
Mensajes: 1061
Registrado: Lun Jun 02, 2003 8:29 pm
Ubicación: Peru


Volver a C/C++

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados