Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- #include <fstream>
- #include <sstream>
- using namespace std;
- void wypisz(vector<int>& x){
- for (int i : x)
- cout << i << " ";
- cout << endl;
- }
- void sortuj(vector<int> &a) {
- for (int i = 5; i >= 0; i--)
- for (int j = 1; j <= i; j++ )
- if (a[j-1] > a[j]) {
- int tmp = a[j];
- a[j] = a[j-1];
- a[j-1] = tmp;
- }
- }
- // Ta funkcja otwiera plik o nazwie filename. Jeśli udało się otworzyć plik o tej nazwie, to zwraca jego handler.
- // W przeciwnym wypadku kończy działanie programu z kodem -1.
- ifstream otworz_plik(const string& filename) {
- ifstream plik;
- plik.open(filename);
- if( !plik.good() ){
- cout << "Nie można wczytać pliku" << endl;
- exit(-1);
- }
- return plik;
- }
- // wczytuje liczby do macierzy, linia po linii, z pliku przekazanego jako argument. zwraca tę macierz.
- vector<vector<int>> wczytaj_obraz(ifstream &plik) {
- vector<vector<int>> dupa;
- string linia;
- while( getline(plik, linia) ) {
- vector<int> v;
- stringstream iss (linia);
- int number;
- while ( iss >> number )
- v.push_back(number);
- dupa.push_back(v);
- }
- return dupa;
- }
- // Ta funkcja wypisuje najjaniejszy i najciemniejszy kolor ( reprezentowany przez int ) z macierzy "o".
- void najjasniejszy_najciemniejszy(vector<vector<int>>& o) {
- int najciemniejszy, najjasniejszy;
- najjasniejszy = najciemniejszy = o[0][0];
- for(int i = 0; i < o.size(); i++ ){
- for(int j = 0; j < o[i].size(); j++ ){
- if( o[i][j] > najjasniejszy )
- najjasniejszy = o[i][j];
- if( o[i][j] < najciemniejszy )
- najciemniejszy = o[i][j];
- }
- }
- cout << "najjasniejszy: " << najjasniejszy << ", najciemniejszy; " << najciemniejszy << endl;
- }
- // Ta funckja wypisuje liczbe wierszy ktore nie maja symetrii wzgledem linii przechodzacej przez polowe obrazka "o".
- void ile_usunac(vector<vector<int>>& o) {
- int ile = 0;
- for(int i = 0; i < o.size(); i++ ){
- unsigned long last = o[i].size() - 1;
- unsigned long j = 0;
- while(j < o[i].size() / 2) {
- if(o[i][j] != o[i][last - j]) {
- ile++;
- break;
- }
- j++;
- }
- }
- cout << "Aby obraz mial symetrie nalezy usunac " << ile << " wierszy." << endl;
- }
- int main() {
- ifstream plik = otworz_plik("../przyklad.txt");
- vector<vector<int>> obraz = wczytaj_obraz(plik);
- // pkt 1
- najjasniejszy_najciemniejszy(obraz);
- //pkt 2
- ile_usunac(obraz);
- return 0;
- }
Add Comment
Please, Sign In to add comment