Skip to content

Instantly share code, notes, and snippets.

@enedil
Created March 12, 2018 11:55
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save enedil/8a6bcf0fe49a67132d3b493e5300c1bc to your computer and use it in GitHub Desktop.
Save enedil/8a6bcf0fe49a67132d3b493e5300c1bc to your computer and use it in GitHub Desktop.
// wymaga standardu języka C++11
#include <iostream>
#include <vector>
using namespace std;
int ata(vector<vector<int> >& v, int x, int y) {
if (x >= 200 or x < 0) {
return -1;
}
if (y >= 200 or y < 0) {
return -1;
}
return v[x][y];
}
int main()
{
const int n = 200, m = 320;
vector<vector<int> > px(200, vector<int>(320));
for (int i = 0; i < n; ++i) {
for (int j = 0; j < m; ++j) {
cin >> px[i][j];
}
}
//zadanie 6.1
int mini = 500, maxi = -500;
for (int i = 0; i < n; ++i) {
for (int j = 0; j < m; ++j) {
mini = min(mini, px[i][j]);
maxi = max(maxi, px[i][j]);
}
}
cout << "Zadanie 6.1:\n najjaśniejszy: " << maxi << ",\t najciemniejszy: " << mini << "\n\n";
// zadanie 6.2
int c = 0;
for (int i = 0; i < n; ++i) {
for (int j = 0; j < m/2; ++j) {
if (px[i][j] != px[i][m - j - 1]) {
c++;
break;
}
}
}
cout << "Zadanie 6.2:\n wynik: " << c << "\n\n";
// zadanie 6.3
vector<pair<int, int> > pos = {{make_pair(0, -1),
make_pair(0, 1),
make_pair(1, 0),
make_pair(-1, 0)}};
c = 0;
for (int i = 0; i < n; ++i) {
for (int j = 0; j < m; ++j) {
for (auto& para: pos) {
int val = ata(px, i+para.first, j+para.second);
if (val == -1) {
continue;
}
if (abs(px[i][j] - val) > 128) {
c++;
break;
}
}
}
}
cout << "Zadanie 6.3:\n wynik: " << c << "\n\n";
// zadanie 6.4
maxi = 0;
for (int j = 0; j < m; ++j) {
int mtmp = 1;
for (int i = 0; i < n-1; ++i) {
if (px[i][j] == px[i+1][j]) {
mtmp += 1;
} else {
maxi = max(mtmp, maxi);
mtmp = 1;
}
maxi = max(mtmp, maxi);
}
}
cout << "Zadanie 6.4:\n wynik: " << maxi << "\n\n";
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment