Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- double a[20][20],d,det;
- int n;
- int prim(int a) {
- if(a < 2)
- return 0;
- for(int i = 2; i * i <= a; i++)
- if(a % i == 0)
- return 0;
- return 1;
- }
- int prime = 0;
- int main(){
- ifstream cin("prob.in");
- ofstream cout ("prob.out");
- cin>>n;
- for(int i=1;i<=n;i++)
- for(int j=1;j<=n;j++)
- cin>>a[i][j];
- for(int i=1;i<=n;i++){
- for(int j=i+1;j<=n;j++)
- if(j!=i){
- d=a[j][i]/a[i][i];
- for(int k=1;k<=n;k++)
- a[j][k]-=a[i][k]*d;
- }
- }
- cout<<endl<<"matricea zerografiata "<<endl;
- for(int i=1;i<=n;i++){
- for(int j=1;j<=n;j++)
- cout<<setprecision(2)<<fixed<<a[i][j]<<' ';
- cout<<endl;
- }det=1;
- for(int i=1;i<=n;i++){
- det*=a[i][i];
- if(prim(abs(a[i][i]))){
- prime++;
- }
- }
- cout<<"Determinantul ="<<det<<endl;
- if(prime > 1)cout << "avem "<<prime << " nr prime pe diagonala" <<endl;
- if(prime = 1)cout << "avem un numar prim pe diagonala"<<endl;
- if(!prime) cout << "nu sunt numere prime pe diagonala " <<endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement