#include<iostream.h> #include<fstream.h> int i,j,a[10][10],n,s=0,p,d,s1=0,h[10],x[10]; ifstream f;
void afisare(int a[10][10],int n) {for(i=1;i<=n;i++) {for(j=1;j<=n;j++) cout<<a[i][j]<<" "; cout<<endl;} }
int main() {f.open("date"); f>>n; for(i=1;i<=n;i++) for(j=1;j<=n;j++) f>>a[i][j]; f.close(); afisare(a,n);
cout<<"nodul "; cin>>p; for(i=1;i<=n;i++) {if(a[i][p]==1) s+=1;} cout<<"gradul intern pentru nodul "<<p<<" este "<<s<<endl; for(j=1;j<=n;j++) {if(a[p][j]==1) s1+=1;} cout<<"gradul extern pentru nodul "<<p<<" este "<<s1<<endl; cout<<endl; int k; for(i=1;i<=n;i++) { k=0; for(j=1;j<=n;j++) if(a[i][j]==1) k++; h[i]=k;} for(i=1;i<=n;i++) cout<<"gradul extern pentru nodul "<<i<<" este "<<h[i]<<endl; cout<<endl; int v; for(i=1;i<=n;i++) { v=0; for(j=1;j<=n;j++) if(a[j][i]==1) v++; x[i]=v;} for(i=1;i<=n;i++) cout<<"gradul intern pentru nodul "<<i<<" este "<<x[i]<<endl; cout<<endl; int m=0; for(i=1;i<=n;i++) for(j=1;j<=n;j++) if( a[i][j]==1) {m++; cout<<"arcul "<<i<<" si "<<j<<endl; } cout<<"sunt "<<m<<" arce"<<endl; int nod; cout<<"vecinii pentru nodul: "; cin>>nod; for(i=1;i<=n;i++) if(a[nod][i]==1 || a[i][nod]==1) cout<<"vecinii nodului sunt "<<i<<endl; int t=0; for(i=1;i<=n;i++) if(h[i]==0 && x[i]==0) {t++; cout<<"nodul izolat este "<<i<<endl;} if(t==0) cout<<"nu avem noduri izolate"<<endl; else cout<<"sunt "<<t<<" noduri izolate"<<endl;
int r=0; for(i=1;i<=n;i++) if(h[i]+x[i]==1) {r++; cout<<"nodul "<<i<<" este terminal "<<endl;} if(r==0) cout<<"nu avem noduri terminal"<<endl; else cout<<"sunt "<<r<<" noduri terminale"<<endl; int z=0; for(i=1;i<=n;i++) for(j=1;j<=n;j++) if(a[i][j]==0 || a[i][j]==1) if(a[i][j]==1 && a[j][i]==1) z++; if(z==2*n) cout<<endl<<"nu este matricea unu graf orientat"; else cout<<endl<<"este matricea unu graf orientat"; return 0; }
|