Almacenamiento de coordenadas y creacion de otro archivo con estas mismas. en C

Iniciado por RicGeo, 9 Abril 2014, 19:45 PM

0 Miembros y 1 Visitante están viendo este tema.

RicGeo

Q tal amigos ... tengo una duda acerca de como seleccionar unas coordenadas (x,y,z) de cierto archivo que se encuentra en ".txt" dice algo así:

19. LI01_TIS X coordinate  (m)           1401321.01171
20. LI01_TIS Y coordinate  (m)          -6077986.40864
21. LI01_TIS Z coordinate  (m)          -1328580.44278

22. IC01_TIS X coordinate  (m)          -4641648.78954
23. IC01_TIS Y coordinate  (m)          -6441233.79445
24. IC01_TIS Z coordinate  (m)           4678451.58764

25. LI01_TIS X coordinate  (m)           1404521.01171
26. LI01_TIS Y coordinate  (m)          -787986.40864
27. LI01_TIS Z coordinate  (m)          -9028580.44278

28. IC01_TIS X coordinate  (m)          4564461.48946
29. IC01_TIS Y coordinate  (m)          156494.487615
30. IC01_TIS Z coordinate  (m)           5538694.49495

Ahora si se dan cuenta se repiten 2 veces "IC01" y "LI01" . Mi resultado final del programa sería algo así:
IC01:
-4641648.78954 -6441233.79445 4678451.58764
4564461.48946  156494.487615  5538694.49495

Y para el otro archivo:
LI01 :
1401321.01171 -6077986.40864 -1328580.44278
1404521.01171 -787986.40864 -9028580.44278

Estuve avanzando el programa pero no se como leer los datos . He aquí el programa en C:

#include<stdio.h>
int main(){
   int dim,i,j,k,tmp,p;
   double coord[31][3];
   FILE *rv;
   FILE *wv;
   printf("Dias Procesados: ");
   scanf("%d",&dim);
        rv=fopen("/home/sirgas/CFP/PRT.org","rt");
    if (!rv){
    printf("Error abriendo entrada\n");
    exit(-1);
            }
            for (i=0,j=0,k=0;i<dim,j<dim,k<dim;i++,j++,k++){
                if()
                fscanf(rv,"%lf\n",&coord[i][0]);
                fscanf(rv," %lf\n",&coord[j][1]);
                fscanf(rv," %lf\n",&coord[k][2]);
                }
       fclose(rv);

       wv=fopen("/home/sirgas/CFP/matriz-COORD.txt","wt");
       if (!wv){
      printf("Error abriendo archivo salida\n");
      exit(-1);
       }
   fprintf(wv,"Las coordenadas para %d días son:\n",dim);
       for (i=0,j=0,k=0;i<dim,j<dim,k<dim;i++,j++,k++){
            fprintf(wv,"\t%lf ",coord[i][0]);
            fprintf(wv,"%lf ",coord[j][1]);
            fprintf(wv,"%lf \n",coord[k][2]);
            }
   printf("Las coordenadas para %d días son:\n",dim);
       for (i=0,j=0,k=0;i<dim,j<dim,k<dim;i++,j++,k++){
            printf("%lf ",coord[i][0]);
            printf(" %lf ",coord[j][1]);
            printf(" %lf \n",coord[k][2]);
            }
       fclose (wv);
return(1);
}