/* *************************************** */
/* File : pivoting.cpp */
/* Author : Group 9 Numerical Method Class */
/* Date : 1 oktober 2008 */
/* Deskripsi : Program Eliminasi Gauss yang diperbaiki (dengan tataancang Pivoting)*/
/* *************************************** */

#include
#include
#include
float a[11][11];
float x[4];

main()
{
int i, j, n, m, c, b, p, q, L, k;
float pivot, pivot1, pivot2, total, suku, temp;
cout< cout< cout< cout< cout< cout< cout< cout<>n;
cout<>m;
///////////////////////////////////////////////////////////////
cout< for(i=1; i<=n; i++)
{
for(j=1; j<=m; j++)
{
cout<<" "; cin>>a[i][j];
}
cout< }
/////////////////////////////////////////////////////////////
for(i=1;i<=(n-1); i++)
{
j=i;
pivot1 = a[i][j]; c=i; //simpan state pivot1 di c;
if(pivot1 < 0){pivot1 = pivot1 * -1;} // cari harga mutlak pivot1

for(b=(i+1); b<=n; b++)
{
pivot2= a[b][j];
if(pivot2 < 0){ pivot2 = pivot2 * -1;} //cari harga mutlak pivot2
if(pivot2 > pivot1){ pivot1 = pivot2; c=b;} //simpan state pivot2 di c;
}
if(c==i) goto lompat;
for(j=i; j<=m; j++)
{
temp = a[i][j];
a[i][j] = a[c][j];
a[c][j] = temp;
}
lompat:
j=i;
pivot = a[i][j];
for(k=i; k<=(n-1); k++)
{
temp = a[k+1][j];
for(L=i; L<=m; L++)
{
a[k+1][L] = a[k+1][L] - temp /pivot * a[i][L];
}
}
}
////// display
for(i=1;i<=n;i++)
{for(j=1;j<=m;j++)
{
cout< }
cout< }
///////////// penyulihan mundur
if(a[n][n]==0) {cout< cout<