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ú

Mensajes - 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
Cita de: leosansan en 13 Agosto 2014, 21:09 PM
No estoy seguro de haberte entendido bien pero parece que quieres leer una cierta cantidad de coordenadas del fichero xy.txt y guardar las  mismas en otro fichero que yo llamaré Copiaxy. Si es así lo siguiente lo realiza:

Código (cpp) [Seleccionar]
***************************************
 scanf("%d",&n);
 txt = fopen ( "xy.txt" , "r" ) ;
 for ( i = 0 ; i < n ;  i++  )
   fscanf  ( txt , "%lf%lf"  , &c  [ i ][  0 ] , &c  [ i ][  1 ] )  ;
 fclose ( txt ) ;

/* ***** OPERO SOBRE LAS COORDENADAS Y LAS GUARDO ***** */

 res = fopen ( "Copia_xy.txt" , "w" ) ;
 for ( i = 0 ; i <n ; i++ )
   fprintf ( res , "%lf  %lf\n" , c [ i ][ 0 ] , c [ i ][ 1 ] )  ;
 fclose ( res ) ;
************************************************


Y si lo que quieres es leer las coordenadas para "operar" sobre ellas, tipo ordenarlas y cosa por el estilo, están en el array "c". Puedes hacer lo que quieras con ellas y después guardarlas.

¡¡¡¡ Saluditos! ..... !!!!


gracias bro!!! te agradezco
#3
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;
}
#4
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...
#5
Gracias es muy importante leer esto!!!
#6
Cita de: Tzhed\ Kyperf/ en  1 Julio 2014, 11:10 AM
Código (bash) [Seleccionar]
#!/bin/bash
array=($(ls *n))
array1=($(ls *o))

for ((i=0;i<${#array[@]}; i++)) do
echo "teqc -nav "${array[i]}" +qc "${array1[i]}
done


teqc -nav hc023510.13n +qc hc023510.13o
teqc -nav hc023520.13n +qc hc023520.13o
teqc -nav pi023510.13n +qc pi023510.13o

Gracias Hermano!!!
#7
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!!
#8
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!!
#9
Cita de: eferion en  9 Junio 2014, 16:53 PM
No se de dónde has sacado ese código pero ya te digo que no va ni a compilar.

fopen=("/home/carpeta/x.txt",r);

* fopen es una función, no una variable.
* r debería ser una cadena de caracteres para indicar la forma de abrir el fichero.

Por otro lado, para saber si el fichero está vacío puedes mover el cursor al final y consultar su posición en ese punto... si la posición final es 0, el fichero está vacío:


FILE *rv;
rv = fopen( "/home/carpeta/x.txt", "r" );
fseek( rv, 0, SEEK_END );
if (ftell( rv ) == 0 )
{
  // fichero vacio
}

Hermano eferion gracias no sabes cuanto me haz ayudado, no me di cuenta del error del fopen por q este es un ejemplo que lo hice rápido, tengo un programa mas completo y complejo que ahora gracias a ti está finalizado miles de gracias
#10
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;
}