Advertisement
Guest User

Untitled

a guest
Dec 12th, 2018
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.86 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstdlib>
  3. #include <ctime>
  4. #include <cmath>
  5. using namespace std;
  6.  
  7. const int N = 8;
  8.  
  9. void r(int t[N][N])
  10. {
  11.     srand( time( NULL ) );
  12.     for(int i=0; i<N; i++)
  13.         for(int j=0; j<N; j++)
  14.             t[i][j]=rand()%100;
  15. }
  16.  
  17. struct polwiez
  18. {
  19.     int x1=0;
  20.     int y1=0;
  21.     int x2=0;
  22.     int y2=0;
  23. } best;
  24.  
  25. int sumk(int t[N][N], int k)
  26. {
  27.     int sum=0;
  28.     for(int i=0; i<N; i++)
  29.         sum+=t[i][k];
  30.     return sum;
  31. }
  32.  
  33. int sumw(int t[N][N], int w)
  34. {
  35.     int sum=0;
  36.     for(int i=0; i<N; i++)
  37.         sum+=t[w][i];
  38.     return sum;
  39. }
  40.  
  41. int sumowanko(int t[N][N], int x1, int y1, int x2, int y2)
  42. {
  43.     int stsum=0;
  44.     if(x1==x2)
  45.         stsum=sumw(t,x1)+sumk(t,y1)+sumk(t,y2) ;
  46.     if(y1==y2)
  47.         stsum=sumw(t,x1)+sumk(t,x2)+sumk(t,y1) ;
  48.     if(x1!=x2 && y1!=y2)
  49.         stsum=sumw(t,x1)+sumw(t,x2)+sumk(t,y1)+sumk(t,y2) -t[x1][y1] -t[x2][y2];
  50.     return stsum;
  51. }
  52.  
  53. void more(int t[N][N], polwiez &best)
  54. {
  55.     int csum=0, msum=0;
  56.  
  57.     for(int i=0; i<N; i++)
  58.         {for(int j=0; j<N; j++)
  59.             {for(int k=0; k!=i, k<N; k++)
  60.                 {for(int m=0; m!=j, m<N; m++)
  61.                   {
  62.  
  63.                     csum=sumowanko(t,i,j,k,m);
  64.                     if(csum>msum)
  65.                        {
  66.                             msum=csum;
  67.                             best.x1=i;
  68.                             best.y1=j;
  69.                             best.x2=k;
  70.                             best.y2=m;
  71.                        }
  72.  
  73.  
  74.                   }
  75.                 }
  76.             }
  77.         }
  78. }
  79.  
  80. int main()
  81. {
  82.     int t[N][N];
  83.     r(t);
  84.     for(int i=0; i<N; i++)
  85.         {for(int j=0; j<N; j++)
  86.             cout<<t[i][j]<<'\t'<<" ";
  87.         cout<<endl;}
  88.  
  89.     more(t, best);
  90.     cout<<"Polozenie wiez: ("<<best.x1<<","<<best.y1<<") ("<<best.x2<<","<<best.y2<<")";
  91.  
  92.  
  93.     return 0;
  94. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement