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

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  problema al leer gauss desde un archivo
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: problema al leer gauss desde un archivo  (Leído 2,036 veces)
Idmus

Desconectado Desconectado

Mensajes: 6


Ver Perfil
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
 


En línea

Idmus

Desconectado Desconectado

Mensajes: 6


Ver Perfil
Re: problema al leer gauss desde un archivo
« Respuesta #1 en: 14 Noviembre 2013, 19:36 pm »

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  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.       //  printf("LOLO   %i \n",num_lineas);
  14.    fclose(ar);
  15.    return (num_lineas+1);
  16. }
  17.  
  18.  
  19.  
  20. void LlenarMatriz(float a[50][50], int n,char b[20])
  21. {
  22.  
  23.     int i, j, k;
  24.  
  25.     ar = fopen(b,"r");
  26.  
  27.  
  28.     k=n;
  29.  
  30.     for(i=0; i<k; i++)
  31.     {
  32.              for(j=0; j<k+1; j++)
  33.              {
  34.                       fscanf(ar, "%f", &a[i][j]);
  35.  
  36.              }
  37.     }
  38.     fclose(ar);
  39. }
  40.  
  41. void ImpMatriz(float a[50][50], int n)
  42. {
  43.     int i, j;
  44.  
  45.     for(i=0; i<n; i++)
  46.     {
  47.              for(j=0; j<n+1; j++)
  48.              {
  49.                       printf("%f \t", a[i][j]);
  50.              }
  51.              printf("\n");
  52.     }
  53. }
  54.  
  55. void GaussJordan(float a[50][50],int n)
  56. {
  57.     float piv, x, y;
  58.     int i, j, k;
  59.  
  60.     for(i=0; i<n; i++)
  61.     {
  62.              for(j=0;j<n;j++)
  63.              {
  64.                       if(j != i)
  65.                       {
  66.                            x=a[i][j];
  67.                            y=a[j][i];
  68.                            for(k=0;k<n+1;k++)
  69.                                a[j][k]=a[j][k]/y*x+a[i][k];
  70.                       }
  71.              }
  72.     }
  73. }
  74.  
  75. int main()
  76. {
  77.    int n;
  78.    char b[20];
  79.    float a[50][50];
  80.      printf("Nombre del archivo: ");
  81.     gets(b);
  82.    n= TotalLineas(b);
  83.  
  84.  
  85.    LlenarMatriz(a,n,b);
  86.    ImpMatriz(a,n);
  87.    GaussJordan(a,n);
  88.  
  89.    system("pause");
  90.    return 0;
  91.  
  92. }




ya se puede leer la matriz para gauss , al parecer solo era un problema de punteros, ahora deberia poder aplicar aplicar gauss. ¿que deberia hacer para calcular gauss?


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Leer xml desde archivo batch
Scripting
Dead0922 8 10,145 Último mensaje 8 Mayo 2009, 13:20 pm
por Dead0922
Problema al leer un archivo XML (Solucionado)
.NET (C#, VB.NET, ASP)
Zeroql 3 4,130 Último mensaje 12 Julio 2010, 15:31 pm
por Zeroql
Problema en C++ al leer archivo .txt « 1 2 »
Programación C/C++
javier_SL 10 13,349 Último mensaje 21 Junio 2011, 00:54 am
por Danyel_Casvill
Leer archivo LOG desde Query SQL Server 2008
Bases de Datos
Shell Root 5 14,895 Último mensaje 1 Diciembre 2011, 12:21 pm
por Novlucker
Problema Al leer Archivo En C
Programación C/C++
ZedGe 3 6,393 Último mensaje 22 Enero 2012, 11:27 am
por Xandrete
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines