Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cmath>
- using namespace std;
- void upis_mat(double (&A)[4][4] , int m ) {
- for ( int i=0 ; i<m ; i++) {
- for ( int j=0 ; j<m ; j++ ) {
- cout<<"unesite mat["<<i<<"]["<<j<<"]:"<<endl;
- cin>>A[i][j];
- }
- }
- }
- void ispis_mat(double (&A)[4][4] , int m){
- for ( int i=0 ; i<m ; i++) {
- for ( int j=0 ; j<m ; j++ ) {
- cout<<A[i][j]<<" | ";
- }
- cout<<endl;
- }
- }
- int main() {
- int n;
- cout<<"Unesite red matrice(<=4):"<<endl;
- while (1) {
- cin>>n;
- if ( n > 0 && n < 5 ) break;
- else cout<<"Unesite n u rasponu od 0 do 5 - n(0,5)"<<endl;
- }
- double matrica[4][4];
- cout<<"<<-------------------------------------------->>"<<endl;
- cout<<"Unos matrice:"<<endl;
- upis_mat(matrica , n );
- cout<<"<<-------------------------------------------->>"<<endl;
- cout<<"Unijeli ste matricu:"<<endl<<endl;
- ispis_mat(matrica , n );
- cout<<"<<-------------------------------------------->>"<<endl;
- cout<<"Sopstveni vektor matrice:"<<endl<<endl;
- double s_vektor[n+1] , lambda , lambdaR1 , lambdaR2 , lambdaI1 , lambdaI2 , D;
- switch(n) {
- case 1:
- s_vektor[0] = -1;
- s_vektor[1] = matrica[0][0];
- lambda = matrica[0][0];
- cout<<"-λ"<<showpos<<matrica[0][0]<<"=0"<<endl;
- cout<<"<<-------------------------------------------->>"<<endl;
- cout<<"Sopstvena vrednost matrice(lambda):"<<endl<<endl;
- cout<<" λ = "<<matrica[0][0]<<endl;
- break;
- case 2:
- s_vektor[0] = 1;
- s_vektor[1] = -matrica[0][0]-matrica[1][1];
- s_vektor[2] = matrica[0][0]*matrica[1][1]-matrica[1][0]*matrica[0][1];
- D = s_vektor[1]*s_vektor[1]-4*1*s_vektor[2];
- if ( D >= 0 ) {
- lambdaR1 = (-s_vektor[1]+sqrt(D))/2;
- lambdaR2 = (-s_vektor[1]-sqrt(D))/2;
- lambdaI1 = lambdaI2 = 0;
- }
- else {
- lambdaR1 = lambdaR2 = -s_vektor[1]/2;
- lambdaI1 = sqrt(-D)/2;
- lambdaI2 = -sqrt(-D)/2;
- }
- cout<<"-λ^2"<<showpos<<s_vektor[1]<<"*λ"<<showpos<<s_vektor[2]<<"=0"<<endl;
- cout<<"<<-------------------------------------------->>"<<endl;
- cout<<"Sopstvene vrednosti matrice(lambde):"<<endl<<endl;
- cout<<"lambda1 realni dio:"<<lambdaR1<<" imaginarni:"<<lambdaI1<<endl;
- cout<<"lambda2 realni dio:"<<lambdaR2<<" imaginarni:"<<lambdaI2<<endl;
- break;
- case 3:
- s_vektor[0] = -1;
- s_vektor[1] = matrica[0][0] + matrica[1][1] + matrica[2][2];
- s_vektor[2] = -(matrica[0][0]*matrica[1][1]+matrica[1][1]*matrica[2][2]+matrica[0][0]*matrica[2][2]-matrica[0][2]*matrica[2][0]-matrica[1][2]*matrica[2][1]-matrica[0][1]*matrica[1][0]);
- s_vektor[3] = matrica[0][0]*matrica[1][1]*matrica[2][2] + matrica[0][1]*matrica[1][2]*matrica[2][0] + matrica[0][2]*matrica[1][0]*matrica[2][1] - matrica[0][2]*matrica[2][0]*matrica[1][1] - matrica[0][0]*matrica[1][1]*matrica[2][1] - matrica[0][1]*matrica[1][0]*matrica[2][2];
- cout<<"-λ^3"<<showpos<<s_vektor[1]<<"*λ^2"<<showpos<<s_vektor[2]<<"*λ"<<showpos<<s_vektor[3]<<"=0"<<endl;
- cout<<"<<-------------------------------------------->>"<<endl;
- cout<<"Sopstvene vrednosti matrice(lambde):"<<endl<<endl;
- cout<<"Neki drugi put :D"<<endl;
- break;
- case 4:
- s_vektor[0] = 1;
- s_vektor[1] = -matrica[0][0] - matrica[1][1] - matrica[2][2] - matrica[3][3] ;
- s_vektor[2] = matrica[0][0]*matrica[3][3] + matrica[0][0]*matrica[1][1] + matrica[0][0]*matrica[2][2] - matrica[1][1]*matrica[3][3] - matrica[2][2]*matrica[3][3] - matrica[1][1]*matrica[2][2] + matrica[2][1]*matrica[3][2] - matrica[1][3]*matrica[3][1] - matrica[3][2]*matrica[2][3] - matrica[1][2]*matrica[2][1] + matrica[0][1]*matrica[1][0] + matrica[0][3]*matrica[3][0] - matrica[0][2]*matrica[2][0];
- s_vektor[3] = -matrica[0][0]*matrica[1][1]*matrica[3][3] - matrica[0][0]*matrica[3][3]*matrica[2][2] - matrica[0][0]*matrica[1][1]*matrica[2][2] - matrica[0][0]*matrica[2][1]*matrica[3][2] + matrica[0][0]*matrica[1][3]*matrica[3][1] + matrica[0][0]*matrica[3][2]*matrica[2][3] + matrica[0][0]*matrica[1][2]*matrica[2][1] - matrica[3][3]*matrica[1][1]*matrica[2][2] - matrica[1][2]*matrica[2][3]*matrica[3][2] - matrica[3][3]*matrica[2][1]*matrica[3][2] + matrica[1][3]*matrica[2][2]*matrica[3][1] + matrica[1][1]*matrica[2][3]*matrica[3][2] + matrica[1][2]*matrica[2][1]*matrica[3][3] - matrica[0][1]*matrica[1][0]*matrica[2][2] - matrica[0][1]*matrica[1][0]*matrica[3][3] + matrica[0][1]*matrica[3][0]*matrica[1][3] + matrica[0][1]*matrica[2][0]*matrica[1][2] - matrica[0][2]*matrica[1][0]*matrica[2][1] - matrica[0][2]*matrica[2][3]*matrica[3][0] + matrica[0][2]*matrica[2][0]*matrica[1][1] + matrica[0][2]*matrica[2][0]*matrica[3][3] - matrica[0][3]*matrica[3][0]*matrica[1][1] - matrica[0][3]*matrica[3][0]*matrica[2][2] + matrica[0][3]*matrica[1][0]*matrica[3][1] + matrica[0][3]*matrica[3][2]*matrica[2][1];
- s_vektor[4] = matrica[0][0]*matrica[1][1]*matrica[2][2]*matrica[3][3] + matrica[0][0]*matrica[1][2]*matrica[2][3]*matrica[3][1] + matrica[0][0]*matrica[2][1]*matrica[3][2]*matrica[3][3] - matrica[0][0]*matrica[1][3]*matrica[2][2]*matrica[3][1] - matrica[0][0]*matrica[1][1]*matrica[2][3]*matrica[3][2] - matrica[0][0]*matrica[1][2]*matrica[2][1]*matrica[3][3] + matrica[0][1]*matrica[1][0]*matrica[2][2]*matrica[3][3] + matrica[0][1]*matrica[1][2]*matrica[2][3]*matrica[3][0] + matrica[0][1]*matrica[1][3]*matrica[2][0]*matrica[3][2] - matrica[0][1]*matrica[1][3]*matrica[3][0]*matrica[2][2] - matrica[0][1]*matrica[3][2]*matrica[2][3]*matrica[1][0] - matrica[0][1]*matrica[1][2]*matrica[2][0]*matrica[3][3] + matrica[0][2]*matrica[1][0]*matrica[2][1]*matrica[3][3] + matrica[0][2]*matrica[1][1]*matrica[2][3]*matrica[3][0] + matrica[0][2]*matrica[1][3]*matrica[2][0]*matrica[3][1] - matrica[0][2]*matrica[3][0]*matrica[2][1]*matrica[1][3] - matrica[0][2]*matrica[3][1]*matrica[2][3]*matrica[1][0] - matrica[0][2]*matrica[2][0]*matrica[1][1]*matrica[3][3] + matrica[0][3]*matrica[1][0]*matrica[2][1]*matrica[3][2] + matrica[0][3]*matrica[3][0]*matrica[1][1]*matrica[2][2] + matrica[0][3]*matrica[1][2]*matrica[2][0]*matrica[3][1] - matrica[0][3]*matrica[3][0]*matrica[2][1]*matrica[1][2] - matrica[0][3]*matrica[1][0]*matrica[3][1]*matrica[2][2] - matrica[0][3]*matrica[3][2]*matrica[2][0]*matrica[1][1];
- cout<<"λ^4"<<showpos<<s_vektor[1]<<"*λ^3"<<showpos<<s_vektor[2]<<"*λ^2"<<showpos<<s_vektor[3]<<"*λ"<<showpos<<s_vektor[4]<<"=0"<<endl;
- cout<<"<<-------------------------------------------->>"<<endl;
- cout<<"Sopstvene vrednosti matrice(lambde):"<<endl<<endl;
- cout<<"Neki drugi put :D"<<endl;
- break;
- break;
- default:
- ;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment