Senin, 09 April 2018

Membuat Program Eliminasi Gaus Bahasa C Beserta Hasil dan Code

Membuat Program Eliminasi Gaus Bahasa C Beserta Hasil dan Code

Code

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <math.h>

#define MAX 20

// deklarasi fungsi
void gauss2(double a[MAX][MAX], double b[MAX], int, int, double x[MAX]);
void cetak(double a[MAX][MAX], double b[MAX], int);

int main(){
double a[MAX][MAX], b[MAX], x[MAX];
int dimensi, baris, kolom, flag;
char z;
do{
system("cls");
printf("\t\tEliminasi Gauss\n\n");
printf("Masukkan dimensi ordonya : ");
scanf("%d", &dimensi);
printf("masukkan matriks :\n");
for(baris=1; baris<=dimensi; baris++){
for(kolom=1; kolom<=dimensi; kolom++){
printf("a(baris[%d],kolom[%d]) : ", baris, kolom);
scanf("%lf", &a[baris][kolom]);
}
printf("y baris %d (vektor) : ", baris);
scanf("%lf", &b[baris]);
}
cetak(a, b, dimensi);
gauss2(a, b, dimensi, flag, x);
printf("\n\nIngin menghitung ulang ?(y/t) >");
z=getch();
printf("\n\n");
} while(z=='y'||z=='Y');
return 0;
}

void gauss2(double a[MAX][MAX], double b[MAX], int dimensi, int flag, double x[MAX]){
double pivot1, pivot2;
int pos, baris, kolom;
flag = 1;
for(pos=1; pos<=dimensi; pos++){
pivot1 = a[pos][pos];
if(pivot1 == 0){
flag=0;
break;
}
else{
for(kolom=1; kolom<=dimensi; kolom++)
a[pos][kolom]=a[pos][kolom]/pivot1;
b[pos]=b[pos]/pivot1;
cetak(a, b, dimensi);
for(baris=pos; baris<=dimensi; baris++){
if(baris+1<=dimensi){
pivot2 = a[baris+1][pos];
for(kolom=1; kolom<=dimensi; kolom++)
a[baris+1][kolom]=a[pos][kolom]*(-pivot2)+a[baris+1][kolom];
b[baris+1]=b[pos]*(-pivot2)+b[baris+1];
cetak(a, b, dimensi);
}
}
}
}
}

void cetak(double a[MAX][MAX], double b[MAX], int dimensi){
int baris, kolom;
printf("\n");
for(kolom=1; kolom<=dimensi; kolom++)
printf("     a%d ", kolom);
printf("     b \n");
for(baris=1; baris<=dimensi; baris++){
printf("|");
for(kolom=1; kolom<=dimensi; kolom++)
printf("%8.2lf", a[baris][kolom]);
printf("%8.2lf   |\n", b[baris]);
}
}

Hasil




Artikel Terkait


EmoticonEmoticon