#include <iostream>
void determinant();
float determinant_hesapla(float (*T1)[50], int);
int main(){
determinant();
return 0;
}
void determinant(){
int m;
std::cout << "m (mxm): ";
std::cin >> m;
float matris[50][50];
float determinant;
for(int i=0; i < m; i++){
for(int j=0; j < m; j++){
std::cout << "matris[" << i+1 << "][" << j+1 << "] = ";
std::cin >> matris[i][j];
}
}
std::cout << "Matrisin Determinantı: ";
determinant = determinant_hesapla(matris, m);
std::cout << determinant << std::endl;
}
float determinant_hesapla(float matris[50][50], int boyut){
if(boyut == 1){
return matris[0][0];
}
float yeni_matris[50][50];
float determinant = 0; // 0'da başlatıldı
int m, n, sutun;
float isaret = 1;
for (int sutun = 0; sutun < boyut; sutun++)
{
m = 0;
n = 0;
for(int i = 0; i < boyut; i++){
for (int j = 0; j < boyut; j++)
{
yeni_matris[i][j] = 0;
if(i!=0 && j!=sutun){
yeni_matris[m][n] = matris[i][j];
if(n < (boyut-2)){ // satır sonunda değilse sütunu arttır
n++;
}
else{
m++; // 1. sütuna dön ve satır satır ilerle
n = 0;
}
}
}
}
determinant = determinant + isaret * (matris[0][sutun] * determinant_hesapla(yeni_matris, boyut-1));
isaret = isaret * (-1);
}
return determinant;
}
C++ Bir Matrisin Determinantını Hesaplama
Bir matrisin determinantını hesaplayan programın kodu aşağıdaki gibidir. Program öncelikle hesaplanacak olan matrisin boyutunu istemektedir. (örnek: matris 5x5 ise boyut 5'tir) Sonrasında ise kullanıcıdan matrise ait tüm elemanların değerlerinin girilmesi istenmektedir. Devamında determinant_hesapla() fonksiyonuna argüman olarak girilen matris gönderilmektedir ve determinant hesaplanmaktadır, elde edilen sonuç geri döndürülmektedir:
Kaydol:
Kayıt Yorumları (Atom)
Hiç yorum yok:
Yorum Gönderme