Dev - C++ - Ayuda por favor en Metodo Gauss Jordan

   
Vista:

Ayuda por favor en Metodo Gauss Jordan

Publicado por Patricio patricio.18.2005@gmail.com (3 intervenciones) el 22/11/2013 18:54:08
disculpen soy nuevo en este lenguaje y me gustaria que me ayudaran un poco en este programita que al compilar me da un error en el return del main y me apunta al metodo llena matriz si me podrian ayudar con esto se los agradeceria mucho

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
 #include <conio.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <ctime>
 #include<math.h> 
 
void llena_matriz(float m [50][50],int n)
{
     {
int n,a,b;
float A[50][50],B[50],cte,aux;
      printf("\n\t\tMETODO DE GAUSS-JORDAN\n");
      printf("\nIngrese el numero de ecuaciones del sistema: ");
      scanf("%i",&n);
 
      for(a=0;a<n;a++)
       {
        for(b=0;b<n;b++)
          {
           printf("Coef. (%i,%i) ",a+1,b+1);
           scanf("%f",&A[a][b]);
           }
           printf("Termino independiente Ec. %i: ",a+1);
           scanf("%f",&B[a]);
        }
}
 
void escribir_matriz(float m[50][50],int n);
{
       int i,j;
       printf("  \n  ");
       for(i=0;i<n;i++)
       {
           for(j=0;j<n+1;j++)
           {
               printf("%f\t",m[i][j]);
           }
           printf("\n");
       }
  }
 
 
void gauss(float m[50][50],int n);
{
     float piv,x,y;
     int i,ii,j;
      for(i=0;i<n;i++)
      {
          for (ii=0;ii<n;ii++)
          {
               if (ii!=i)
               {
                x = - m[i][i];
                y=  m[ii][i];
                for (j=0;j<n+1;j++)
                    m[ii][j]=m[ii][j]/y*x+m[i][j];
                }
          }
      }
}
 
int main();
{
    int n;
    float a[50][50];
     scanf("%i",&n);
    llena_matriz(a,n);
    escribir_matriz(a,n);
    gauss(a,n);
    escribir_matriz(a,n);
    getch();
    return 0;
}
 
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de JuanC

Ayuda por favor en Metodo Gauss Jordan

Publicado por JuanC juanc2942@gmail.com (35 intervenciones) el 23/11/2013 20:51:12
uno de los errores:

void escribir_matriz(float m[50][50],int n);
{

no lleva ; al final, quedaría así:

void escribir_matriz(float m[50][50],int n)
{


otro error:

void llena_matriz(float m [50][50],int n)
{
{
int n,a,b;

estás declarando la variable n 2 veces, como argumento de la función y como local
además la segunda { de apertura no hace falta
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda por favor en Metodo Gauss Jordan

Publicado por Patricio (3 intervenciones) el 24/11/2013 13:14:37
muchas gracias por tu ayuda .
funciono todo excelente
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda por favor en Metodo Gauss Jordan

Publicado por claudia (1 intervención) el 26/11/2013 01:41:54
tengo un pequeño problema con esa llave me marca error y la verdad no entiendo el porque
no se si me puedan ayudar con eso les mando el codigo..
es este mismo pero ps corrigiendo los datos que JUANC dice no funciona...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <ctime>
#include <math.h> 
 
void llena_matriz(float m [50][50],int n)
{
{
 
int a,b;
float A[50][50],B[50],cte,aux;
      printf("\n\t\tMETODO DE GAUSS-JORDAN\n");
      printf("\nIngrese el numero de ecuaciones del sistema: ");
      scanf("%i",&n);
 
      for(a=0;a<n;a++)
       {
        for(b=0;b<n;b++)
          {
           printf("Coef. (%i,%i) ",a+1,b+1);
           scanf("%f",&A[a][b]);
           }
           printf("Termino independiente Ec. %i: ",a+1);
           scanf("%f",&B[a]);
        }
}
 
  void escribir_matriz(float m[50][50], int n)
  {
       int i,j;
       printf("  \n  ");
       for(i=0;i<n;i++) //for void escribir_matriz
       {
           for(j=0;j<n+1;j++) //for2 void escribir_matriz
           {
               printf("%f\t",m[i][j]);
           } //cierre de for2 void escribir_matriz
           printf("\n");
       } //cierre de for void escribir_matriz
  }// fin de void escribir
 
 
void gauss(float m[50][50], int n)
{
 
     float piv,x,y;
     int i,ii,j;
      for(i=0;i<n;i++) //for void gauss
      {
          for (ii=0;ii<n;ii++) //for2 void gauss
          {
               if (ii!=i) //if void gauss
               {
                x = - m[i][i];
                y=  m[ii][i];
                for (j=0;j<n+1;j++)
                    m[ii][j]=m[ii][j]/y*x+m[i][j];
                } //cierre de if void gauss
          } //cierre de for2 void gauss
      } //cierre de for void gauss
}  //fin de void gauss
 
main();
{
    int n;
    float a[50][50];
     scanf("%i",&n);
    llena_matriz(a,n);
    escribir_matriz(a,n);
    gauss(a,n);
    escribir_matriz(a,n);
    getch();
    return 0;
}   // fin de void main
 
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda por favor en Metodo Gauss Jordan

Publicado por Patricio (3 intervenciones) el 26/11/2013 04:54:28
yo en el arreglo que hice segun las instrucciones que me dio Juan C fueron estas mira:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <ctime>
#include<math.h> 
 
void llena_matriz(float m [50][50],int n)
{
 
int a,b;
float A[50][50],B[50],cte,aux;
      printf("\n\t\tMETODO DE GAUSS-JORDAN\n");
      printf("\nIngrese el numero de ecuaciones del sistema: ");
      scanf("%i",&n);
 
      for(a=0;a<n;a++)
       {
        for(b=0;b<n;b++)
          {
           printf("Coef. (%i,%i) ",a+1,b+1);
           scanf("%f",&A[a][b]);
           }
           printf("Termino independiente Ec. %i: ",a+1);
           scanf("%f",&B[a]);
        }
}
 
void escribir_matriz(float m[50][50],int n)
{
       int i,j;
       printf("  \n  ");
       for(i=0;i<n;i++)
       {
           for(j=0;j<n+1;j++)
           {
               printf("%f\t",m[i][j]);
           }
           printf("\n");
       }
  }
 
 
void gauss(float m[50][50],int n)
{
     float piv,x,y;
     int i,ii,j;
      for(i=0;i<n;i++)
      {
          for (ii=0;ii<n;ii++)
          {
               if (ii!=i)
               {
                x = - m[i][i];
                y=  m[ii][i];
                for (j=0;j<n+1;j++)
                    m[ii][j]=m[ii][j]/y*x+m[i][j];
                }
          }
      }
}
 
int main()
{
    int n;
    float a[50][50];
     scanf("%i",&n);
    llena_matriz(a,n);
    escribir_matriz(a,n);
    gauss(a,n);
    escribir_matriz(a,n);
    getch();
    return 0;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JuanC

Ayuda por favor en Metodo Gauss Jordan

Publicado por JuanC juanc2942@gmail.com (35 intervenciones) el 26/11/2013 11:11:04
las llaves van de a pares, apertura y cierre, siempre...

Saludos, desde Baires, JuanC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda por favor en Metodo Gauss Jordan

Publicado por cypascal (2 intervenciones) el 28/06/2016 11:51:21
Le dejo aquí un enlace con otra vresión del método de Gauss para la resolución de ecuaciones. Llegar, copiar y pegar, espero que os sea útil.
http://cypascal.blogspot.com.es/2013/05/metodo-de-resolucion-de-ecuaciones-en-c.html

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar