Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- #include <string>
- using namespace std;
- bool czyDwuCykliczny(string a);
- int zamien(string a);
- bool zadanie2(string a);
- bool czyDwuCykliczny(string a)
- {
- string p, q;
- for (int i = 0; i < a.size() / 2; i++)
- p += a[i];
- for (int i = a.size() / 2; i < a.size(); i++)
- q += a[i];
- return p == q;
- }
- int zamien(string a)
- {
- int p = 1, liczba = 0;
- for (int i = a.size() - 1; i >= 0; i--)
- {
- if (a[i] == '1')
- {
- liczba += p;
- }
- p *= 2;
- }
- return liczba;
- }
- //bool zadanie2(string a)
- //{
- // for(int i=0;i<a.size()/4;i++)
- // {
- // string b(&a[i*4],4);
- // if(zamien(b)>9)
- // {
- // return false;
- // }
- //
- // }
- //
- //
- // return true;
- //}
- bool zadanie2(string a)
- {
- for (int i = 0; i<a.size(); i += 4)
- {
- string b;
- for (int j = 0; j<4; j++)
- b += a[i+j]; //W tym miejscu było i++ przez co i było zwiększane dwa razy i wychodziło za szybko poza rozmiar!
- if (zamien(b)>9)
- return false;
- }
- return true;
- }
- int main()
- {
- ifstream kobieta;
- ofstream wynik, wynik2;
- wynik.open("wynik.txt");
- wynik2.open("wynik2.txt");
- kobieta.open("binarne.txt");
- string tab[500];
- //------------------------zad1-------------------------------//
- {
- for (int i = 0; i < 500; i++)
- {
- kobieta >> tab[i];
- }
- string maxi;
- int ilejest = 0;
- for (int j = 0; j < 500; j++)
- {
- if (czyDwuCykliczny(tab[j]))
- {
- ilejest++;
- if (tab[j].size() > maxi.size())
- maxi = tab[j];
- }
- }
- #define wynik cout
- wynik << maxi << endl;
- wynik << ilejest << endl << endl;
- }
- //------------------------zad2-------------------------------//
- {
- int zad2 = 0;
- int mini = INT_MAX;
- for (int j = 0; j < 500; j++)
- {
- if (!zadanie2(tab[j]))
- {
- zad2++;
- if (tab[j].size() < mini)
- {
- mini = tab[j].size();
- }
- }
- }
- //#define cout wynik2
- cout << zad2 << endl;
- cout << mini << endl;
- }
- //------------------------zad3-------------------------------//
- {
- int maximum = 0;
- string a;
- for (int j = 0; j < 500; j++)
- {
- if (tab[j].size() < 17)
- {
- if (zamien(tab[j]) > maximum)
- {
- maximum = zamien(tab[j]);
- a = tab[j];
- }
- }
- }
- cout << endl << maximum;
- cout << endl << a;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement