Advertisement
aimon1337

Untitled

Mar 30th, 2020
348
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.30 KB | None | 0 0
  1. #include <iostream>
  2. #include <algorithm>
  3. using namespace std;
  4. const int mxN = 1e4;
  5. int a[mxN][mxN],n,m,x,y;
  6. int D[mxN];
  7. int L[mxN][mxN];
  8. int i,j;
  9. void citire(){
  10.     cout<<"Numarul de noduri: "; cin>>n;
  11.     cout<<"Numarul de muchii: "; cin>>m;
  12.     for(i=1;i<=n;++i)
  13.         for(j=1;j<=n;++j)
  14.             a[i][j]==0;
  15.     for(i=1;i<=m;++i){
  16.         cout<<"Dati extremitatile muchiei "<<i<<" ";
  17.         cin>>x>>y;
  18.         a[x][y]=1;
  19.         a[y][x]=1;
  20.         D[x]++;
  21.         D[y]++;
  22.     }
  23.     cout<<"\n";
  24. }
  25. void grad(){
  26.     cout<<"a) ";
  27.     for(i = 1; i<=n ;++i){
  28.         cout<<D[i]<<" ";
  29.     }
  30.     cout<<endl;
  31. }
  32. void gradpar(){
  33.     cout<<"b) ";
  34.     for(i=1;i<=n;++i){
  35.         if(D[i]%2==0)
  36.             cout<<i<<" ";
  37.     }
  38.     cout<<"\n";
  39. }
  40. void gradi(){
  41.     cout<<"c) ";
  42.     for(i=1;i<=n;++i)
  43.         if(D[i]==0)
  44.             cout<<i<<" ";
  45.     cout<<endl;
  46. }
  47. void gradt(){
  48.     cout<<"d) ";
  49.     for (i=1;i<=n;i++)
  50.         if(D[i]==1)
  51.             cout<<i<<" ";
  52.     cout<<"\n";
  53. }
  54. int egi(){
  55.     cout<<"e) ";
  56.     bool ok=false;
  57.     for(i = 1; i<=n;++i)
  58.         if (D[i]==0)
  59.             ok=true;
  60.     return ok;
  61. }
  62. int egt(){
  63.     cout<<"f) ";
  64.     bool ok=false;
  65.     for(i = 1; i<=n;++i)
  66.         if (D[i]==1)
  67.             ok=true;
  68.     return ok;
  69. }
  70. int egint(){
  71.     cout<<"g) ";
  72.     bool ok = false;
  73.     for(i=1;i<=n;++i)
  74.         if(D[i]!=0 && D[i]!=1)
  75.             ok=true;
  76.     return ok;
  77. }
  78. int totiz(){
  79.     cout<<"h) ";
  80.     bool ok=true;
  81.     for(i = 1; i<=n; ++i)
  82.         if(D[i]!=0)
  83.             ok=false;
  84.     return ok;
  85. }
  86. int totint(){
  87.     cout<<"i) ";
  88.     bool ok=true;
  89.     for(i = 1; i<=n; ++i)
  90.         if(D[i]==0 || D[i]==1)
  91.             ok=false;
  92.     return ok;
  93. }
  94. void grvf(){
  95.     cout<<"j) ";
  96.     int v;
  97.     cin>>v;
  98.     cout<<D[v]<<" ";
  99.     cout<<endl;
  100. }
  101. void ln(){
  102.     int k;
  103.     for (i=1;i<=n;i++){
  104.         k=0;
  105.         for (j=1;j<=n;j++)
  106.             if (a[i][j]==1){
  107.                 k=k+1 ;
  108.                 L[i][k]=j;
  109.             }
  110.     }
  111. }
  112. void nd(){
  113.     ln();
  114.     cout<<"k) ";
  115.     int nd;
  116.     cin>>nd;
  117.     for(j=1;j<=n;++j)
  118.         if(a[nd][j])
  119.             cout<<j<<" ";
  120.     cout<<endl;
  121. }
  122. void veriff(){
  123.     cout<<"l) ";
  124.     for(i=1;i<=n;++i)
  125.         if(D[i] != 0 && D[i] != 1)
  126.             cout<<"Varful "<<i<<" este interior"<<endl;
  127.             else
  128.                 if(D[i]==0)
  129.                     cout<<"Varful "<<i<<" este izolat"<<endl;
  130.                 else
  131.                     if(D[i]==1)
  132.                         cout<<"Varful "<<i<<" este terminal"<<endl;
  133. }
  134. void gradmax(){
  135.     cout<<"m) ";
  136.     int maxl=-1;
  137.     for(i=1;i<=n;++i)
  138.         if(D[i]>maxl)
  139.             maxl=D[i];
  140.     cout<<maxl<<endl;
  141.     for(i=1;i<=n;++i)
  142.         if(D[i]==maxl)
  143.             cout<<i<<" ";
  144.     cout<<endl;
  145. }
  146. void frecvgrad(){
  147.     cout<<"n) ";
  148.     int n1,n2,n3;
  149.     n1=n2=n3=0;
  150.     for(i=1;i<=n;++i){
  151.         if(D[i]==0)
  152.             n1++;
  153.         else if(D[i]==1)
  154.                 n2++;
  155.              else if(D[i] != 0 && D[i] != 1)
  156.                  n3++;
  157.     }
  158.     cout<<"Noduri izolate: "<<n1<<endl;
  159.     cout<<"Noduri terminale: "<<n2<<endl;
  160.     cout<<"Noduri interioare:"<<n3<<endl;
  161. }
  162. void veriford(){
  163.     cout<<"o) ";
  164.     bool ok=true;
  165.     int g[mxN];
  166.     for(i=1;i<=n;++i)
  167.         cin>>g[i];
  168.     for(i=1;i<=n;++i)
  169.         if(g[i]!=D[i])
  170.             ok=false;
  171.     if(ok == false)
  172.         cout<<"Nu sunt in ordine"<<endl;
  173.     else if(ok==true)
  174.             cout<<"Sunt in ordine"<<endl;
  175. }
  176. void verifnord(){
  177.     bool ok = false;
  178.     cout<<"p) ";
  179.     int g[mxN];
  180.     for(i=1;i<=n;++i)
  181.         cin>>g[i];
  182.     sort(g,g+n);
  183.     sort(D,D+n);
  184.     for(i=1;i<=n;i++)
  185.         if(D[i]==g[i]){
  186.             ok=true;}
  187.     if(ok == true)
  188.         cout<<"Reprezinta"<<endl;
  189.     else
  190.     {
  191.             cout<<"Nu reprezinta"<<endl;
  192.     }
  193. }
  194. int main(){
  195.     citire();
  196.     grad();
  197.     gradpar();
  198.     gradi();
  199.     gradt();
  200.     if(egi()==true) cout <<"DA"<<endl; else cout<<"NU"<<endl;
  201.     if(egt()==true) cout <<"DA"<<endl; else cout<<"NU"<<endl;
  202.     if(egint()==true) cout <<"DA"<<endl; else cout<<"NU"<<endl;
  203.     if(totiz()==true) cout <<"DA"<<endl; else cout<<"NU"<<endl;
  204.     if(totint()==true) cout <<"DA"<<endl; else cout<<"NU"<<endl;
  205.     grvf();
  206.     nd();
  207.     veriff();
  208.     gradmax();
  209.     veriford();
  210.     verifnord();
  211.     return 0;
  212. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement