Advertisement
rotti321

model FSEGA 2021

Dec 20th, 2021
815
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5.   int perfect(int x){
  6.       int s=1,d;
  7.     for(d=2;d*d<x;d++){
  8.         if(x%d==0){
  9.             s=s+d+x/d;
  10.         }
  11.     }
  12.     if(d*d==x){
  13.        s=s+d;
  14.     }
  15.     return s;
  16.   }
  17.   void citire(int a[100][100],int &n){
  18.     cin>>n;
  19.     for(int i=1;i<=n;i++){
  20.         for(int j=1;j<=n;j++){
  21.             cin>>a[i][j];
  22.         }
  23.     }
  24.   }
  25.   void afisare(int a[100][100],int n){
  26.     for(int i=1;i<=n;i++){
  27.         for(int j=1;j<=n;j++){
  28.             cout<<a[i][j]<< " ";
  29.  
  30.         }
  31.         cout<<endl;
  32.  
  33.     }
  34.     cout<<endl;
  35.   }
  36.   void constructie(int a[100][100],int n,int v[10000],int &m)
  37.   {
  38.       m=0;
  39.       for(int i=1;i<=n;i++)
  40.       {
  41.           for(int j=1;j<=n;j++)
  42.           {
  43.               if(perfect(a[i][j])==a[i][j])
  44.               {
  45.                   m++;
  46.                   v[m]=a[i][j];
  47.               }
  48.           }
  49.       }
  50.       if(m==0) cout<<"NU EXISTA";
  51.       for(int i=1;i<=m;i++) cout<<v[i]<<" ";
  52.   }
  53.   void modif_max_min(int a[100][100],int n){
  54.     int maxx=a[1][1],minn=a[1][1],maxxl;
  55.     for(int i=1;i<=n;i++){
  56.         maxxl=a[i][1];
  57.         for(int j=1;j<=n;j++){
  58.             if(minn>a[i][j])    minn=a[i][j];
  59.             if(maxx<a[i][j])    maxx=a[i][j];
  60.             if(maxxl<a[i][j])    maxxl=a[i][j];
  61.         }
  62.         a[i][0]=maxxl; ///retin pe prima coloana max pe linie
  63.     }
  64.     for(int i=1;i<=n;i++){
  65.         if(a[i][0]==maxx){
  66.         for(int j=1;j<=n;j++){
  67.                 a[i][j]+=minn;
  68.             }
  69.         }
  70.     }
  71.   }
  72. int main()
  73.  {
  74.     int a[100][100],n,m,v[10000];
  75.     citire(a,n);
  76.     afisare(a,n);
  77.     modif_max_min(a,n);
  78.     afisare(a,n);
  79.     constructie(a,n,v,m);
  80.     return 0;
  81. }
  82.  
Advertisement
RAW Paste Data Copied
Advertisement