Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - RicGeo

#1
Hola amigos de Elhacker.net quisiera su ayuda esta vez con el almacenamiento de caracteres y flotantes en el "for" donde tengo que almacenar varios datos : nombre y codigos .Por ejemplo:
paloer  234234.56323 2342.563
loerto   454353.4564 23423.6722
setra  43534.56754 7864.6573

#include<stdio.h>
  #define MAX 13
  int main(){
  int i,j,k,n;
  double p[MAX][1];
  char nombre[MAX];
  FILE *txt;
  printf("Numero de datos:\n");
   scanf("%d",&n);
  txt=fopen("Lista_datos.txt","r");
  if(!txt)
    printf("Error no existe archivo\n");
  else{
    for(i=0;i<n;i++)
    fscanf(txt,"%s %lf %lf",&nombre[MAX],&p[i][0],&p[i][1]);// Obviamente acá el uso de la lectura de los caracteres está mal usado, aquí es donde quisiera su ayuda
     for(i=0;i<n;i++)
    printf("%s %lf %lf",nombre[i],p[i][0],p[i][1]);
    }
    fclose(txt);
    return 0;}

Quisiera como utilizar o hay un comando especial como poder trabajar con estos caracteres que varian para poder trabajar con estos datos .. agradecería bastante ayuda . Saludos!!!
#2
Hola amigos de elhacker.net" tengo una duda sobre este programa en c donde quisiera extraer las coordenadas de un archivo en txt y poder ordenarlos y hacer otras cosas más, pero como pueden ver el codigo es sencillo , ya que solo quisiera saber como poder almacenar estos datos bien, si es q hay un error o se puede hacer mucho mejor la programacion avisenme les agradecería mucho
aca esta el archivo a leer:
"xy.txt":

-17.19062318 -70.92224925
-16.07666887  90.84543186
13.19062318 -80.92224925
-14.07666887  70.8454318

como pueden ver este es el archivo txt!!

#include<stdio.h>
int main(){
    int n,i,j,k;
    double c[45][2];
    FILE *txt,*res;
   printf("Extraccion de coordenadas\n");
   printf("Numero de coordenadas\n");
   scanf("%d",&n);
   txt=fopen("xy.txt","r");
      txt=fopen("geod","r");
         for (i=0;i<n;i++){
                fscanf(txt,"%lf ",&c[i][0]);
                fscanf(txt,"%lf\n",&c[i][1]);}
   fclose(txt);
   res=fopen("","w");
      fprintf("\t X(m)\t Y(m)\n");
         for (i=0;i<n;i++){
            fprintf(res,"\t%lf ",c[i][0]);
            fprintf(res,"\t%lf\n",c[i][1]);}
  fclose(res);
return 0;
}
#3
Hola amigos esta vez a preguntar como puedo insertar colores a mis programas en C como el fondo y color de texto ya que quiero editar automáticamente archivos... Se puede o no?... me comentaron que use librerías "ncurses" .. pero lo veo mas trabajoso por los comandos  :huh:... podrían recomendarme que usar y como usarlo...
#4
Hola amigos ... Posteo para saber si me pudieran ayudar con un problema en mi script bash aca les va:
Código (bash) [Seleccionar]

#!/bin/bash
ls *n > lista.nav
ls *o > lista.rnx
awk '{print "teqc -nav " $1}' lista.nav > lstn
awk '{print " +qc " $1}' lista.rnx > lstr
cat lstn lstr

en terminal sale:
teqc -nav hc023510.13n
teqc -nav hc023520.13n
teqc -nav pi023510.13n

+qc hc023510.13o
+qc hc023520.13o
+qc pi023510.13o

Como observan en la parte final de concatenación lo concatena uno debajo del otro lo que yo quisiera es que se copie uno al lado del otro, quisiera que visualice así:
teqc -nav hc023510.13n +qc hc023510.13o
teqc -nav hc023520.13n +qc hc023520.13o
teqc -nav pi023510.13n +qc pi023510.13o
Les agradecería bastante su ayuda!!
#5
Hola amigos del ElHacker quisiera que me ayuden con un problema que tengo a la hora de compilar este pequeño programa en C.
Este pequeño programa guarda los numeros que se encuentran dentro de ciertos archivos, hasta ahi todo bien.. el problema empieza cuando quiero condicionar el programa para cuando no exita el archivo del cual quiero tomar sus numeros ... mando a compliar pero en el terminal aparece "Abortado (`core' generado)" y otros codigos sin sentido alguno.
Que me faltaría agregar para que el programa siga ejecutandose cuando no encuentre un archivo?
#include<stdio.h>
int main(){
int i,j,k;
double coord1[31][3],coord2[31][3],coord3[31][3];
   FILE *erp1,*erp2,*erp3;
///////////////////////////////////////////////////
        erp1=fopen("/home/PROGAMACION/prueba_gg/am01","r");
         if (!erp1)
           //Que puedo poner aca?//
         else{
            erp1=fopen("/home/PROGAMACION/prueba_gg/am01","r");   
            for (i=0,j=0,k=0;i<7,j<7,k<7;i++,j++,k++){
                fscanf(erp1,"%lf\n",&coord1[i][0]);
                fscanf(erp1,"%lf\n",&coord1[j][1]);
                fscanf(erp1,"%lf\n",&coord1[k][2]);
                printf("%lf - %lf - %lf\n",coord1[i][0],coord1[j][1],coord1[k][2]);
                }
             }
        fclose(erp1);
//////////////////////////////////////////////////
       printf("###########################\n");
        erp2=fopen("/home/PROGAMACION/prueba_gg/am02","r");
         if (!erp2)
           //Que puedo poner aca?//
         else{   
            erp2=fopen("/home/PROGAMACION/prueba_gg/am02","r");
            for (i=0,j=0,k=0;i<7,j<7,k<7;i++,j++,k++){
                fscanf(erp2,"%lf\n",&coord2[i][0]);
                fscanf(erp2,"%lf\n",&coord2[j][1]);
                fscanf(erp2,"%lf\n",&coord2[k][2]);
                printf("%lf - %lf - %lf\n",coord2[i][0],coord2[j][1],coord2[k][2]);
                }
             }
        fclose(erp2);
//////////////////////////////////////////////////
       printf("###########################\n");
        erp3=fopen("/home/PROGAMACION/prueba_gg/an02","r");
         if (!erp3)
           //Que puedo poner aca?//
         else{   
            erp3=fopen("/home/PROGAMACION/prueba_gg/an2","r");
            for (i=0,j=0,k=0;i<7,j<7,k<7;i++,j++,k++){
                fscanf(erp3,"%lf\n",&coord3[i][0]);
                fscanf(erp3,"%lf\n",&coord3[j][1]);
                fscanf(erp3,"%lf\n",&coord3[k][2]);
                printf("%lf - %lf - %lf\n",coord3[i][0],coord3[j][1],coord3[k][2]);
                }
             }
        fclose(erp2);
return 0;
}

Agradezco su atencion!!
#6
Que tal amigo quería saber si me podrían ayudar con un programa en c para saber si un archivo tiene contenido o está vacío. Me comentaron que usara EOF pero no domino bien esto, agradecería bastante su apoyo.
Este es el programita en sí.

include<stdio.h>
int main(){
    FILE *rv;
    fopen=("/home/carpeta/x.txt",r);
    if(¿?) //Aca creo que iria algo del EOF
    printf("Archivo tiene contenido");
    else
    printf("Archivo vacio"); 
    return 0;
}
#7
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);
}