Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- using namespace std;
- int d[10]={0};
- void citire(int a[][100],int &n)
- {
- ifstream fin("date.in");
- fin>>n;
- for(int i=1;i<=n;i++)
- for(int j=1;j<=n;j++)
- fin>>a[i][j];
- fin.close();
- }
- void transpusa(int a[][100],int n,int b[][100])
- {
- for(int i=1;i<=n;i++)
- for(int j=1;j<=n;j++)
- b[i][j]=a[j][i];
- }
- void drum(int a[][100],int n)
- {
- for(int i=1;i<=n;i++)
- for(int j=1;j<=n;j++)
- for(int k=1;k<=n;k++)
- if(a[i][j]==0)
- if(i!=k && j!=k)
- a[i][j]=a[i][k]*a[k][j];
- }
- void intersectie(int a[][100],int b[][100],int n,int c[][100])
- {
- for(int i=1;i<=n;i++)
- for(int j=1;j<=n;j++)
- c[i][j]=a[i][j]*b[i][j];
- }
- void afisare(int c[][100],int n)
- {
- int cc=1;
- for(int i=2;i<=n;i++)
- for(int j=1; j<=n; j++)
- {
- if(c[i][j]!=c[i-1][j])
- if(c[i][j]==1)
- {
- d[j]=cc;
- }
- if(j==n)
- cc++;
- }
- //
- // for(int i=1; i<=n; i++)
- // cout<<d[i]<<" ";
- while(!semn)
- {for(int i=1; i<=n; i++)
- {
- if(d[i]!=0)
- {
- cout<<i<<" ";
- for(int j=i+1; j<=n; j++)
- {
- if(d[j]==d[i])
- cout<<j<<" ";
- d[j]=0;
- }
- d[i]=0;
- }
- }}
- }
- int main()
- {
- int a[100][100],b[100][100],c[100][100],n;
- citire(a,n);
- transpusa(a,n,b);
- drum(a,n);
- drum(a,n);
- //afisare(a,n);
- drum(b,n);
- drum(b,n);
- intersectie(a,b,n,c);
- afisare(c,n);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement