Programalama > C++

*  Gauss-Jordan Yndirgeme Yöntemi Uygulamasy
    Hazyrlayan : Mahmut ACAR
    Bu uygulama #define str 4 de?eri ve dizi[][]= de?eri de?i?tirilerek 
    daha büyük dizilere uygulanabilir.
*/
#include <iostream>
#include <stdlib.h>
#define str 4                                                  // satyr sayysy giriliyor
#define stn str+1                                              // sütün sayysy=satyr+1 giriliyor
using namespace std;
void yaz( double x[str][stn] );                                // dizi'nin ekrana yazdyrylmasy
int main(int argc, char *argv[])
{                                       
double dizi[str][stn]={13,5,-3,1,18,                           // Dizi degerleri de?i?kene atanyyor                  
                      2,12,1,-4,13,
                      3,-4,10,1,29,
                       2,1,-3,9,31};
double temp;      
  cout<<endl<<"Girilen Matris"<<endl;                           // Ekrana giri? dizisi yazdyrylyyor.
  yaz(dizi);
            for (int q=0;q<str;q++){    
                              temp=dizi[q][q];

                              for (int a=q; a<stn;a++){         // q'ncü satyryn q'ncü elemanyny 1'e e?itliyoruz
                              dizi[q][a]=dizi[q][a]/temp;}      // 1'e e?itleme bitti
                              
                              for(int b=q+1;b<str;b++){         // ileri do?ru yok etme uygulanyyor
                                   temp=-1*dizi[b][q];

                                   for (int a=0; a<stn;a++){     // Üst üçgen matris elde ediliyor.
                                         dizi[b][a]=dizi[b][a]+(dizi[q][a]*temp);}}} 
  cout<<endl<<"Ust Ucgen Matris Elde Edildi"<<endl;
  yaz(dizi);
            for (int q=str-2; q>=0 ; q--){                       // Birim matris formuna indirgeniyor
                            
                            for (int a=q+1; a<stn-1; a++){       // Ylgili sütun ve son sütun üzerinde i?lem yapylyyor
                            temp=-1*dizi[q][a];
                            dizi[q][a]=dizi[q][a]+(dizi[a][a]*temp);
                            dizi[q][stn-1]=dizi[q][stn-1]+(dizi[a][stn-1]*temp);}}    

  cout<<endl<<"Birim Matris Elde Edildi"<<endl;
  yaz(dizi);                                                     // Elde edilen birim matris ekrana yazdyrylyyor

  system("PAUSE");	
  return 0;
}
void yaz ( double x[str][stn] )                                  // Dizi de?erlerinin ekrana yazylmasy
{
cout<<"-----------------------------------\n";
for ( int m=0; m<str; m++){
    for (int n=0; n<stn-1 ; n++){
           cout<<"X"<<n+1<<"= "<<x[m][n]<<"  ";}
           cout<<"Y="<<x[m][stn-1]<<endl;
}}

mahmut acar
acarmahmut@hotmail.com


Yorumlar                 Yorum Yaz
Bu hazır kod'a ilk yorumu siz yapın!
KATEGORİLER
ASP - 240
ASP.NET - 24
C# - 75
C++ - 174
CGI - 8
DELPHI - 247
FLASH - 49
HTML - 536
PASCAL - 246
PERL - 11
PHP - 160
WML - 9
XML - 2
Copyright © 2002 - 2024 Hazır Kod - Tüm Hakları Saklıdır.
Siteden yararlanırken gizlilik ilkelerini okumanızı tavsiye ederiz.
hazirkod.com bir İSOBİL projesidir.