Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <cstdlib>
- #include <ctime>
- #include <string>
- #include <iostream>
- #include <stdio.h>
- #include <cmath>
- using namespace std;
- class Osobnik
- {
- private:
- int rozmiar;
- string wylosowany_napis;
- int przystosowanie;
- public:
- Osobnik(int rozmiar);
- void wyswietl_napis();
- int przydatnosc(string napis);
- };
- class Populacja
- {
- private:
- int rozmiar_populacji;
- int *tablica_przydatnosci;
- Osobnik **tablica_osobnikow;
- public:
- Populacja(int rozmiar_populacji , string cel, float mutacja);
- int nowa_populacja(int *tablica);
- };
- int main()
- {
- Osobnik losowy_osobnik(5);
- losowy_osobnik.wyswietl_napis();
- cout << endl;
- cout << losowy_osobnik.przydatnosc("Kot") << endl;
- return 0;
- }
- Populacja::Populacja(int rozmiar_populacji, string cel, float mutacja)
- {
- this->rozmiar_populacji = rozmiar_populacji;
- this->tablica_osobnikow = new Osobnik*[rozmiar_populacji];
- this->tablica_przydatnosci = new int[rozmiar_populacji];
- for(int i = 0 ; i < rozmiar_populacji ; i++)
- {
- this->tablica_osobnikow[i] = new Osobnik(cel.length());
- this->tablica_przydatnosci[i] = this->tablica_osobnikow[i].przydatnosc(cel);
- }
- }
- /*int Populacja::nowa_populacja()
- {
- int suma=0;
- for(int i = 0 ; i < rozmiar_populacji ; i++)
- {
- suma += (tablica_przydatnosci[i]-1)*100;
- }
- srand(time(NULL));
- a = (rand() % suma);
- tablica_osobnikow[a]
- return suma;
- }*/
- ///////////////////////////////////////////////
- void Osobnik::wyswietl_napis()
- {
- cout << this->wylosowany_napis;
- }
- Osobnik::Osobnik(int rozmiar)
- {
- int a;
- char c;
- this->rozmiar = rozmiar;
- srand(time(NULL));
- if(a >= 91 && a <= 93)
- {
- c = '.';
- }
- else if(a > 93 && a <= 96)
- {
- c = ' ';
- }
- else
- {
- c = a;
- }
- for(int i = 0 ; i < rozmiar ; i++)
- {
- a = (rand() % 57) + 65;
- if(a >= 91 && a <= 93)
- {
- c = '.';
- }
- else if(a > 93 && a <= 96)
- {
- c = ' ';
- }
- else
- {
- c = a;
- }
- wylosowany_napis += c;
- }
- }
- int Osobnik::przydatnosc(string napis)
- {
- int stopien_przydatnosci=0,ret;
- for(int i = 0 ; i < napis.length() ; i++)
- {
- if(napis[i] == wylosowany_napis[i])
- {
- stopien_przydatnosci++;
- }
- }
- ret = pow(2,stopien_przydatnosci);
- return ret;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement