elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


  Mostrar Temas
Páginas: [1]
1  Programación / Programación C/C++ / problema al leer gauss desde un archivo en: 13 Noviembre 2013, 19:53 pm
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4.         FILE *ar;
  5.  
  6. int TotalLineas(char b[20])
  7. {
  8.    ar = fopen(b, "r");
  9.    int ch,num_lineas=0;
  10.    while((ch=fgetc(ar)) != EOF)
  11.      if (ch == '\n')
  12.         num_lineas++;
  13.    return (num_lineas+1);
  14. }
  15.  
  16.  
  17.  
  18. void LlenarMatriz(float a[50][50], int *n)
  19. {
  20.  
  21.     int i, j;
  22.     char b[20];
  23.  
  24.     printf("Nombre del archivo: ");
  25.     gets(b);
  26.     ar = fopen(b, "r");
  27.     *n= TotalLineas(b);
  28.  
  29.     for(i=0; i<*n; i++)
  30.     {
  31.              for(j=0; j<*n+1; j++)
  32.              {
  33.                       fscanf(ar, "%d", &a[i][j]);
  34.                     //  printf("%i", a[i][j]);
  35.              }
  36.     }
  37. }
  38.  
  39. void ImpMatriz(float a[50][50], int n)
  40. {
  41.     int i, j;
  42.  
  43.     for(i=0; i<n; i++)
  44.     {
  45.              for(j=0; j<n+1; j++)
  46.              {
  47.                       printf("%i\t", a[i][j]);
  48.              }
  49.              printf("\n");
  50.     }
  51. }
  52.  
  53. void GaussJordan(float a[50][50], int n)
  54. {
  55.     float piv, x, y;
  56.     int i, j, k;
  57.  
  58.     for(i=0; i<n; i++)
  59.     {
  60.              for(j=0; j<n; j++)
  61.              {
  62.                       if(j != i)
  63.                       {
  64.                            x = a[i][j];
  65.                            y = a[j][i];
  66.                            for(k=0; k<n+1; k++)
  67.                                     a[j][k] = a[j][k]/y*x+a[i][k];
  68.                       }
  69.              }
  70.     }
  71. }
  72.  
  73. int main()
  74. {
  75.    int n;
  76.    float a[50][50];
  77.    /*
  78.     printf("Ingrese la cantidad de filas y columnas: ");
  79.     scanf("%i", &n);
  80.     */
  81.  
  82.    LlenarMatriz(a,&n);
  83.    ImpMatriz(a,n);
  84.    GaussJordan(a,n);
  85.  
  86.    system("pause");
  87.    return 0;
  88.  
  89. }
  90.  



El codigo me tira una matriz de 0 por cada elemento en el archivo de texto desde el que leo la matriz.
¿alguna idea de que podria ser?



ejemplo de matriz en archivo.txt (el archivo se llamara "matriz.txt" :


+6 -2 +2 +4 +12
 0 -4  +2 +2 +10
 0  0  +2  -5    -9
 0  0    0  -3    -3
 
2  Programación / Programación C/C++ / Enviar un archivo a una funcion "leer matriz" en c en: 11 Noviembre 2013, 16:31 pm
Hola, tengo una duda, el el caso de que quisiera leer una matriz dentro de un archivo ".txt" desde una funcion... ¿como seria posible? , es decir tengo mi funcion


"int main()"

y dentro de esta funcion llamo a una funcion que se llama "leer matriz()"

pero nose como enviar ese archivo "matriz.txt" con la matriz a la funcion para que me lo lea desde adentro de la funcion "leermatriz()"


agradeceria una ayuda de antemano muchas gracias


PD: lo que estaria adentro del archivo "matriz.txt"
seria algo asi:



1 3 4  7
2 4 8  8
5 8 10 9
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines