Social Items

SPACE IKLAN ( ADS ) CLICK HERE
Gaussian Elimination C++ Program

Gaussian Elimination C++ Program


berikut source code yang sudah saya jelaskan dalam listing code nya juga

Library yang di butuhkan C++



#include <iostream>
#include <math.h>
#include <cmath>

Source Code nya


/*
* Gauss Method
* NIM : 17615006
* Yogi Arif Widodo
*/

#define MAX 15

using namespace std;

void lineYogi()
{
  cout <>n;
    system("cls");
    lineYogi();
    //==========================
    cin.ignore();  //for clear of line by cin
    ordoMatrik = atoi(n);  //because here line converting have linespace

    hrLine();
    cout <<"TIP :\tJika ordo matrix (n) = 2, maka masukan matrix 4x\n\tcontoh Input Untuk Matrik A = 1 2 3 4 (gunakan spasi)\n";
    cout <<"     \tLalu masukan Vektor 2x \n";
    cout <<"     \tContoh Input Untuk vector = 1 2 (gunakan spasi) ";

    hrLine();
    cout <<"ordo matrix yang digunakan : " <>elemen;
        cin.ignore();//for clear of line by cin
        A[i][j] = atof(elemen);//because here line converting have linespace
      }

    cout <<"\n\t\tInput untuk Vektor B = ";
    for(i = 0; i < ordoMatrik; i++)
    {
       // printf("\nElemen baris ke-%d ", i+1);
       // cout <<"\nElemen baris ke-" <>elemen;
       cin.ignore();//for clear of line by cin
       B[i] = atof(elemen);//because here line converting have linespace
    }
    //
    // getch();
    hrLine();

    cout<<"\tAugmenting matrik A dan B: ";
    hrLine();
    for(s = 0; s < ordoMatrik; s++)
    {
        for(t=0; t <= ordoMatrik; t++)
        {
           if(t != ordoMatrik)
             AugA[s][t] = A[s][t];
           else
             AugA[s][t] = B[s];
        }
    }

    cout<<"\n\tMatrik Augmented A\n";
    designFormView(); //designYogi
    for(i = 0; i < ordoMatrik; i++)
    {
      for (j = 0; j < ordoMatrik+1; j++)
      {
        // printf("%f ",AugA[i][j]);
        cout <<"\t"<>backOrExit;
    if (backOrExit == 'y' || backOrExit =='Y')
    {
        system("cls");
        goto HOMEYOGI;
    }
    else
    {
      system("EXIT");
    }
}



Jika code di atas ada yang error karena block code bertabrakan dengan format posting blogger , silahkan lihat versi github di bawah ini :

Github Code Version

https://github.com/yogithesymbian/c-/blob/master/linearSimultan/gaussYogiMethod.cpp



Berikut Penjelasan format c language yang jika di c++ tinggal panggil saja dengan library iostream.

example :

di C language

printf("X%d: %.2f\n", i+1, X[i]);
di C++ language

  cout <<"\tX" <<i+1 <<":" <<X[i] <<endl;



Kode Format Kegunaan
%c Membaca sebuah karakter
%d Membaca sebuah nilai integer decimal

Untuk Code Format Scanf Selengkpanya ada di : SCANF FORMAT WIKIPEDIA


C Language Code Version

Library yang di butuhkan C Lanugage



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


C Language Code




int main(void)
{
    int ordoMatrik, i, j, s, t, nx, k;
    float A[MAX][MAX], B[MAX], AugA[MAX][MAX], X[MAX], C, sum, 
                       temp;
    char n[MAX], elemen[MAX];
    
    printf("Masukkan ordo matrik (n): ");
    gets(n);
    ordoMatrik = atoi(n);
    
    printf("\nInput untuk Matrik A\n");
    for(i = 0; i < ordoMatrik; i++)
      for (j = 0; j < ordoMatrik; j++)      
      {
        printf("Elemen %d%d: ", i+1, j+1);
        gets(elemen);
        A[i][j] = atof(elemen);
      }
      
    printf("\nInput untuk Vektor B");
    for(i = 0; i < ordoMatrik; i++)
    {
       printf("\nElemen baris ke-%d ", i+1);
       gets(elemen);
       B[i] = atof(elemen);
    }
    
    getch();
    printf("Augmenting matrik A dan B: ");
    for(s = 0; s < ordoMatrik; s++)
    {
        for(t=0; t <= ordoMatrik; t++)
        {
           if(t != ordoMatrik)
             AugA[s][t] = A[s][t];
           else
             AugA[s][t] = B[s];
        }      
    }
      
    printf("\nMatrik Augmented A\n");
    for(i = 0; i < ordoMatrik; i++)
    {
      for (j = 0; j < ordoMatrik+1; j++)      
        printf("%f ",AugA[i][j]);  
      printf("\n");
    }
   
    //Proses pertukaran baris, Jika nilai aii bernilai nol
    for(i = 0;i < ordoMatrik; i++){
          if (AugA[i][i] == 0)
          {
             for(j = 0; j < ordoMatrik; ++j){
                 if(j == i) continue;             
                 if(AugA[j][i] != 0) {
                   //tukar baris matrik            
                   for(s = 0; s <= ordoMatrik; s++){
                      temp = AugA[i][s]; 
                      AugA[i][s] = AugA[j][s]; 
                      AugA[j][s] = temp;
                   }break;
                 }
                 else
                     continue;                
             }break;
          }
          else
             continue;
      }
     
    printf("\nMatrik A (Setelah Pertukaran) \n");
    for(i = 0; i < ordoMatrik; i++)
    {
      for (j = 0; j < ordoMatrik+1; j++)      
        printf("%f ",AugA[i][j]);  
      printf("\n");
    } 
      
    //Proses Operasi Baris Elementer  
    for(i=0; i < ordoMatrik; i++)
      for(j = i+1; j < ordoMatrik; j++)
      {
            C = AugA[j][i] / AugA[i][i];
            for(k = 0; k <= ordoMatrik; k++)
               AugA[j][k] = AugA[j][k] - C*AugA[i][k];
            //AugA[j][k]=0;
      }
      
    printf("\nMatrik A (Setelah OBE) \n");
    for(i = 0; i < ordoMatrik; i++)
    {
      for (j = 0; j < ordoMatrik+1; j++)      
        printf("%f ",AugA[i][j]);  
      printf("\n");
    }

    //Mencari nilai variabel Xi
    X[ordoMatrik-1]=AugA[ordoMatrik-1][ordoMatrik]/AugA[ordoMatrik-1][ordoMatrik-1];
    for(nx=0; nx < ordoMatrik;nx++)
    {
        sum = 0;
        i = ordoMatrik-1-nx;
        for(j = i+1; j < ordoMatrik; j++)
           sum = sum + AugA[i][j] * X[j];
        X[i] = (AugA[i][ordoMatrik]-sum)/AugA[i][i];
        
    }
    
    //Menampilkan nilai variabel xi
    printf("\n");
    for(i = 0; i < ordoMatrik; i++)
          printf("X%d: %.2f\n", i+1, X[i]);
          
    getch();
}




Gaussian Elimination C++ Program

Gaussian Elimination C++ Program

Gaussian Elimination C++ Program


berikut source code yang sudah saya jelaskan dalam listing code nya juga

Library yang di butuhkan C++



#include <iostream>
#include <math.h>
#include <cmath>

Source Code nya


/*
* Gauss Method
* NIM : 17615006
* Yogi Arif Widodo
*/

#define MAX 15

using namespace std;

void lineYogi()
{
  cout <>n;
    system("cls");
    lineYogi();
    //==========================
    cin.ignore();  //for clear of line by cin
    ordoMatrik = atoi(n);  //because here line converting have linespace

    hrLine();
    cout <<"TIP :\tJika ordo matrix (n) = 2, maka masukan matrix 4x\n\tcontoh Input Untuk Matrik A = 1 2 3 4 (gunakan spasi)\n";
    cout <<"     \tLalu masukan Vektor 2x \n";
    cout <<"     \tContoh Input Untuk vector = 1 2 (gunakan spasi) ";

    hrLine();
    cout <<"ordo matrix yang digunakan : " <>elemen;
        cin.ignore();//for clear of line by cin
        A[i][j] = atof(elemen);//because here line converting have linespace
      }

    cout <<"\n\t\tInput untuk Vektor B = ";
    for(i = 0; i < ordoMatrik; i++)
    {
       // printf("\nElemen baris ke-%d ", i+1);
       // cout <<"\nElemen baris ke-" <>elemen;
       cin.ignore();//for clear of line by cin
       B[i] = atof(elemen);//because here line converting have linespace
    }
    //
    // getch();
    hrLine();

    cout<<"\tAugmenting matrik A dan B: ";
    hrLine();
    for(s = 0; s < ordoMatrik; s++)
    {
        for(t=0; t <= ordoMatrik; t++)
        {
           if(t != ordoMatrik)
             AugA[s][t] = A[s][t];
           else
             AugA[s][t] = B[s];
        }
    }

    cout<<"\n\tMatrik Augmented A\n";
    designFormView(); //designYogi
    for(i = 0; i < ordoMatrik; i++)
    {
      for (j = 0; j < ordoMatrik+1; j++)
      {
        // printf("%f ",AugA[i][j]);
        cout <<"\t"<>backOrExit;
    if (backOrExit == 'y' || backOrExit =='Y')
    {
        system("cls");
        goto HOMEYOGI;
    }
    else
    {
      system("EXIT");
    }
}



Jika code di atas ada yang error karena block code bertabrakan dengan format posting blogger , silahkan lihat versi github di bawah ini :

Github Code Version

https://github.com/yogithesymbian/c-/blob/master/linearSimultan/gaussYogiMethod.cpp



Berikut Penjelasan format c language yang jika di c++ tinggal panggil saja dengan library iostream.

example :

di C language

printf("X%d: %.2f\n", i+1, X[i]);
di C++ language

  cout <<"\tX" <<i+1 <<":" <<X[i] <<endl;



Kode Format Kegunaan
%c Membaca sebuah karakter
%d Membaca sebuah nilai integer decimal

Untuk Code Format Scanf Selengkpanya ada di : SCANF FORMAT WIKIPEDIA


C Language Code Version

Library yang di butuhkan C Lanugage



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


C Language Code




int main(void)
{
    int ordoMatrik, i, j, s, t, nx, k;
    float A[MAX][MAX], B[MAX], AugA[MAX][MAX], X[MAX], C, sum, 
                       temp;
    char n[MAX], elemen[MAX];
    
    printf("Masukkan ordo matrik (n): ");
    gets(n);
    ordoMatrik = atoi(n);
    
    printf("\nInput untuk Matrik A\n");
    for(i = 0; i < ordoMatrik; i++)
      for (j = 0; j < ordoMatrik; j++)      
      {
        printf("Elemen %d%d: ", i+1, j+1);
        gets(elemen);
        A[i][j] = atof(elemen);
      }
      
    printf("\nInput untuk Vektor B");
    for(i = 0; i < ordoMatrik; i++)
    {
       printf("\nElemen baris ke-%d ", i+1);
       gets(elemen);
       B[i] = atof(elemen);
    }
    
    getch();
    printf("Augmenting matrik A dan B: ");
    for(s = 0; s < ordoMatrik; s++)
    {
        for(t=0; t <= ordoMatrik; t++)
        {
           if(t != ordoMatrik)
             AugA[s][t] = A[s][t];
           else
             AugA[s][t] = B[s];
        }      
    }
      
    printf("\nMatrik Augmented A\n");
    for(i = 0; i < ordoMatrik; i++)
    {
      for (j = 0; j < ordoMatrik+1; j++)      
        printf("%f ",AugA[i][j]);  
      printf("\n");
    }
   
    //Proses pertukaran baris, Jika nilai aii bernilai nol
    for(i = 0;i < ordoMatrik; i++){
          if (AugA[i][i] == 0)
          {
             for(j = 0; j < ordoMatrik; ++j){
                 if(j == i) continue;             
                 if(AugA[j][i] != 0) {
                   //tukar baris matrik            
                   for(s = 0; s <= ordoMatrik; s++){
                      temp = AugA[i][s]; 
                      AugA[i][s] = AugA[j][s]; 
                      AugA[j][s] = temp;
                   }break;
                 }
                 else
                     continue;                
             }break;
          }
          else
             continue;
      }
     
    printf("\nMatrik A (Setelah Pertukaran) \n");
    for(i = 0; i < ordoMatrik; i++)
    {
      for (j = 0; j < ordoMatrik+1; j++)      
        printf("%f ",AugA[i][j]);  
      printf("\n");
    } 
      
    //Proses Operasi Baris Elementer  
    for(i=0; i < ordoMatrik; i++)
      for(j = i+1; j < ordoMatrik; j++)
      {
            C = AugA[j][i] / AugA[i][i];
            for(k = 0; k <= ordoMatrik; k++)
               AugA[j][k] = AugA[j][k] - C*AugA[i][k];
            //AugA[j][k]=0;
      }
      
    printf("\nMatrik A (Setelah OBE) \n");
    for(i = 0; i < ordoMatrik; i++)
    {
      for (j = 0; j < ordoMatrik+1; j++)      
        printf("%f ",AugA[i][j]);  
      printf("\n");
    }

    //Mencari nilai variabel Xi
    X[ordoMatrik-1]=AugA[ordoMatrik-1][ordoMatrik]/AugA[ordoMatrik-1][ordoMatrik-1];
    for(nx=0; nx < ordoMatrik;nx++)
    {
        sum = 0;
        i = ordoMatrik-1-nx;
        for(j = i+1; j < ordoMatrik; j++)
           sum = sum + AugA[i][j] * X[j];
        X[i] = (AugA[i][ordoMatrik]-sum)/AugA[i][i];
        
    }
    
    //Menampilkan nilai variabel xi
    printf("\n");
    for(i = 0; i < ordoMatrik; i++)
          printf("X%d: %.2f\n", i+1, X[i]);
          
    getch();
}




Load Comments

Subscribe Our Newsletter