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 - muymuyperdido

#21
Programación C/C++ / Re: matrices en c
25 Diciembre 2012, 20:47 PM
Yo lo haria con un bucle
for(i=0;i<N;i++{
   for(j=0;j<M;j++){
           -Operaciones-
   }
}
Siendo N y M el tamaño de filas y columnas e i, j variables :)
#22
Buenas, mi problema está en introducir los datos de un fichero en una tabla
El fichero es del estilo
3
1 2 3
4 5 6
7 8 9
De forma que el 3 es el numero de columnas, que es lo primero que leemos y después he de leer los elementos 1 2 3 4 5 6 7 8 9 introduciendolos en una matriz de 3x3 (el programa no sabe cuantas filas hay)

(Está hecho en una función)

void fic1tabla (char dat1[N],float tab1[N][N])
{
   int m,i,j;
FILE * ft;
   ft= fopen(dat1[N],"r");
   if(ft==NULL)
   {
       printf("ERROR");
   }
   else
   {
       fscanf(ft,"%d",&m);
       while(!feof(ft))
       {
           for(i=0; i<N; i++)
           {
               for(j=0; j<m; j++)
               {
                   fscanf(ft,"%f",tab1[i][j]);
               }
           }
           fclose(ft);
       }

   }

}
#23
OMG, muchísimas gracias!
¡Vaya error tonto!
Solucionado :D
Pero al compilar y ejecutar me sale un mensaje de error de windows que el programa dejo de funcionar :|
#24
#include <stdio.h>
#include <string.h>
#define N 100
#define M 100
void introduceNombre (char dc[N],char dp[N],char dr[N],char dt[N]);
void main(){
  int k,i;
    char datosout[N], datoscomp[N],datosobt[N],datosreal[N];
    float train[N][M], real[N][M], test[N][M], dist[N];

    do{
        printf("Introduzca un numero IMPAR");
        scanf("%d",&k);
    }
    while(k%2==0);

    introduceNombre(datoscomp,datosobt,datosreal,datosout);

}
Y la funcion es:
void introduceNombre (char dc[N],char dp[N],char dr[N],char dt[N])
{
    printf("Introduce nombre de archivo sin extension");
    gets(datoscomp);
    strcpy(datosobt,datoscomp);
    strcpy(datosreal,datoscomp);
    strcpy(datosout,datoscomp);
    strcat(datoscomp,".train");
    strcat(datosobt,".test");
    strcat(datosreal,".real");
    strcat(datosout,".out");
}


(Después tiene más funciones y eso, pero el error es el mismo en todas)
#25
N y M están definidas al principio con
#define N 100
#define M 100
asi que por eso no deberia dar problema, no? :|
#26
Buscaré lo de N y M, gracias :)
El código es muy largo (al menos para mi..) 150 lineas, pensé que subirlo seria caos :P
#27
Tengo un programa con varias funciones, pero al compilar me da error
"'lo que sea" undeclared (first used in this function)

void recuento (int t[N][M], int k, char dt[]);


y en el main está puesto
recuento(train,k,datosout);    estando todo esto declarado en el main.

No entiendo por qué da error si se supone que con la llamada se declaran las variables dentro de la funcion :|
#28
Es decir:
for(i=0;i<N;i++){
calculodistancias (...tabla[M]);
ordenar(...tabla[M]);
recuento(...tabla[M])
}
Y al acceder a tabla solo tendria en cuenta esa fila?
O es algo absurdo que me he inventado?
#29
he optado por hacerlo en tres funciones por si acaso, pero gracias :)
#30
Pero si yo dentro de la función declaro FILE *fs, por ejemplo, cada vez que yo abra el fichero se abrirá en la misma variable....aunque claro,...yo lo meto en tablas diferentes ,...entonces da igual que use la misma variable de fichero?
Ok, gracias!^^