Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- #include <string>
- #include <vector>
- using namespace std;
- int abs(int x)
- {
- if(x>=0)return x;
- else return -x;
- }
- int lightest(vector <vector <int> > rows)
- {
- int color=rows[0][0];
- for(int i=0;i<200;i++)
- for(int j=0;j<320;j++)
- if(rows[i][j]>color)
- color=rows[i][j];
- return color;
- }
- int darkest(vector <vector <int> > rows)
- {
- int color=rows[0][0];
- for(int i=0;i<200;i++)
- for(int j=0;j<320;j++)
- if(rows[i][j]<color)
- color=rows[i][j];
- return color;
- }
- bool palindrom(string word)
- {
- string reversed;
- for(int i=0;i<word.size();i++)
- reversed+=word[word.size()-i-1];
- if(reversed==word)return true;
- else return false;
- }
- int symetry(vector <vector <int> > rows)
- {
- vector <string> glued (200);
- for(int i=0;i<200;i++)
- for(int j=0;j<320;j++)
- glued[i]+=rows[i][j];
- int sum=0;
- for(int i=0;i<200;i++)
- if(!palindrom(glued[i]))
- sum++;
- return sum;
- }
- int contrast(vector <vector <int> > rows)
- {
- int sum=0;
- for(int i=0;i<200;i++)
- for(int j=0;j<320;j++)
- {
- ///candidates
- // i-1 j
- // i j+1
- // i+1 j
- // i j-1
- if(i-1>=0 && abs(rows[i][j]-rows[i-1][j])>128)
- {
- sum++;
- continue;
- }
- if(j+1<320 && abs(rows[i][j]-rows[i][j+1])>128)
- {
- sum++;
- continue;
- }
- if(i+1<200 && abs(rows[i][j]-rows[i+1][j])>128)
- {
- sum++;
- continue;
- }
- if(j-1>=0 && abs(rows[i][j]-rows[i][j-1])>128)
- {
- sum++;
- continue;
- }
- }
- return sum;
- }
- int longest(vector <vector <int> > rows)
- {
- int maxi=0,temp=0, current;
- for(int j=0;j<320;j++)
- {
- temp=0;
- current=rows[0][j];
- for(int i=0;i<200;i++)
- if(rows[i][j]==current)temp++;
- else
- {
- if(temp>maxi)maxi=temp;
- temp=1;
- current=rows[i][j];
- }
- if(temp>maxi)maxi=temp;
- }
- return maxi;
- }
- int main()
- {
- ifstream input("dane.txt");
- ifstream example("przyklad.txt");
- vector <vector <int> > rows (200);
- vector <vector <int> > example_rows (200);
- int tempnumber;
- for(int i=0;i<200;i++)
- {
- for(int j=0;j<320;j++)
- {
- input >> tempnumber;
- rows[i].push_back(tempnumber);
- }
- }
- for(int i=0;i<200;i++)
- {
- for(int j=0;j<320;j++)
- {
- example >> tempnumber;
- example_rows[i].push_back(tempnumber);
- }
- }
- cout << lightest(rows) << endl << darkest(rows) << endl << symetry(rows) << endl << contrast(rows) << endl << longest(rows);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement