Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
#include <stdio.h>
#include <math.h>
#include <malloc.h>
#include <conio.h>
int ReadFile ( )
if (file != NULL)
fclose(file);
else {
return filename[0];
int menu()
printf("\nMenu:\n");
printf("1 - Out\n");
printf("2 - Method GJpp\n");
int method;
scanf("%d", &method);
return method;
// Gauss-Jordan no pivot
float GJsp()
int i, j, n, m, k;
m = matrix_coef[j][i]/matrix_coef[i][i];
matrix_coef[i][j]= 0;
matrix_coef[j][k]=matrix_coef[j][k]-m*matrix_coef[i][k];
matrix_sol[i][j]=matrix_sol[i][j]-m*matrix_coef[i][j];
float GJpp()
{
int i, j, n, max_line;
max_number = matrix_coef[0][0];
max_number = matrix_coef[i+1][j];
max_line = i+1;
if(max_number != matrix_coef[j][j])
aux= matrix_coef[j][i];
matrix_coef[j][i] = matrix_coef[max_line][i];
matrix_coef[max_line][i] = aux;
aux = matrix_sol[i][j];
matrix_sol[i][j] = matrix_coef[max_line][j];
matrix_sol[max_line][j] = aux;
// Jacobi
float Jacodl ()
int i, j, n, z,k;
x[i]=(a[i]-soma)/matrix_coef[i][i];
printf("indique a precisao\n");
scanf("%f", &e);
for(i=0; i<n-1;i++)
z = z + y[i]*y[i];
k = k + x[i]*x[i];
float norma=0;
norma = sqrt(z)/sqrt(k);
//Seidel
float Seidl ()
int i, j, n, z, k;
{
soma1 = soma1 + matrix_coef[i][j]*y[j];
x[i]=(a[i]-soma1-soma2)/matrix_coef[i][i];
printf("indique a precisao\n");
scanf("%f", &e);
for(i=0; i<n-1;i++)
float z = 0, k = 0;
z = z + y[i]*y[i];
k = k + x[i]*x[i];
norma = sqrt(z)/sqrt(k);
int main()
char n;
int method;
float norma, e;
ReadFile();
filename[0] = n;
printf("%c", n);
method = menu();
switch (method)
case 1:
break;
GJpp();
break;
GJsp();
break;
do
{Jacodl();}
while (norma<=e);
break;
Seidl();
break;
break;
return 0;