Advertisement
Guest User

Untitled

a guest
Apr 19th, 2018
322
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.97 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. #include <string>
  4. #include <vector>
  5.  
  6.  
  7. using namespace std;
  8.  
  9. int abs(int x)
  10. {
  11.     if(x>=0)return x;
  12.     else return -x;
  13. }
  14.  
  15. int lightest(vector <vector <int> > rows)
  16. {
  17.     int color=rows[0][0];
  18.     for(int i=0;i<200;i++)
  19.         for(int j=0;j<320;j++)
  20.             if(rows[i][j]>color)
  21.                 color=rows[i][j];
  22.     return color;
  23. }
  24.  
  25. int darkest(vector <vector <int> > rows)
  26. {
  27.     int color=rows[0][0];
  28.     for(int i=0;i<200;i++)
  29.         for(int j=0;j<320;j++)
  30.             if(rows[i][j]<color)
  31.                 color=rows[i][j];
  32.     return color;
  33. }
  34.  
  35. bool palindrom(string word)
  36. {
  37.     string reversed;
  38.     for(int i=0;i<word.size();i++)
  39.         reversed+=word[word.size()-i-1];
  40.     if(reversed==word)return true;
  41.     else return false;
  42. }
  43.  
  44. int symetry(vector <vector <int> > rows)
  45. {
  46.     vector <string> glued (200);
  47.     for(int i=0;i<200;i++)
  48.         for(int j=0;j<320;j++)
  49.             glued[i]+=rows[i][j];
  50.     int sum=0;
  51.     for(int i=0;i<200;i++)
  52.         if(!palindrom(glued[i]))
  53.            sum++;
  54.     return sum;
  55. }
  56.  
  57. int contrast(vector <vector <int> > rows)
  58. {
  59.     int sum=0;
  60.     for(int i=0;i<200;i++)
  61.         for(int j=0;j<320;j++)
  62.     {
  63.         ///candidates
  64.         // i-1  j
  65.         // i    j+1
  66.         // i+1  j
  67.         // i    j-1
  68.  
  69.         if(i-1>=0 && abs(rows[i][j]-rows[i-1][j])>128)
  70.         {
  71.             sum++;
  72.             continue;
  73.         }
  74.  
  75.         if(j+1<320 && abs(rows[i][j]-rows[i][j+1])>128)
  76.         {
  77.             sum++;
  78.             continue;
  79.         }
  80.  
  81.         if(i+1<200 && abs(rows[i][j]-rows[i+1][j])>128)
  82.         {
  83.             sum++;
  84.             continue;
  85.         }
  86.  
  87.         if(j-1>=0 && abs(rows[i][j]-rows[i][j-1])>128)
  88.         {
  89.             sum++;
  90.             continue;
  91.         }
  92.     }
  93.  
  94.     return sum;
  95. }
  96.  
  97.  
  98. int longest(vector <vector <int> > rows)
  99. {
  100.     int maxi=0,temp=0, current;
  101.     for(int j=0;j<320;j++)
  102.     {
  103.         temp=0;
  104.         current=rows[0][j];
  105.         for(int i=0;i<200;i++)
  106.             if(rows[i][j]==current)temp++;
  107.             else
  108.             {
  109.                 if(temp>maxi)maxi=temp;
  110.                 temp=1;
  111.                 current=rows[i][j];
  112.             }
  113.         if(temp>maxi)maxi=temp;
  114.  
  115.     }
  116.     return maxi;
  117. }
  118.  
  119.  
  120. int main()
  121. {
  122.     ifstream input("dane.txt");
  123.     ifstream example("przyklad.txt");
  124.     vector <vector <int> > rows (200);
  125.     vector <vector <int> > example_rows (200);
  126.     int tempnumber;
  127.     for(int i=0;i<200;i++)
  128.     {
  129.         for(int j=0;j<320;j++)
  130.         {
  131.             input >> tempnumber;
  132.             rows[i].push_back(tempnumber);
  133.         }
  134.     }
  135.  
  136.     for(int i=0;i<200;i++)
  137.     {
  138.         for(int j=0;j<320;j++)
  139.         {
  140.             example >> tempnumber;
  141.             example_rows[i].push_back(tempnumber);
  142.         }
  143.     }
  144.  
  145.     cout << lightest(rows) << endl << darkest(rows) << endl << symetry(rows) << endl << contrast(rows) << endl << longest(rows);
  146.  
  147.  
  148.  
  149.  
  150.     return 0;
  151. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement