#include <iostream>
using namespace std;
int ile(string s, char z)
{
int ilosc=0;
for(int i=0; i<=s.size()-1 ; i++)
if (s[i]==z)
ilosc++;
return ilosc;
}
int pary(string s)
{
int ilosc=0;
for(int i=0; i<s.size()-1 ; i++)
if (s[i]==s[i+1])
ilosc++;
return ilosc;
}
int hamming(string s, string t)
{
int ilosc=0;
for(int i=0;i<s.size();i++)
{
if(s[i]!=t[i])
ilosc++;
}
return ilosc;
}
string odw(string s)
{
string t="";
char zn;
for(int i=0; i<=s.size()-1 ;i++)
{
if (s[i]=='T')
zn='A';
else if (s[i]=='A')
zn='T';
else if(s[i]=='C')
zn='G';
else zn='C';
t=zn+t;
}
return t;
}
int main() {
cout <<"Ile: " << ile("CAATTA",'A') << endl;
cout << "Pary: " << pary("CAATTA") << endl;
cout << "Hamming: " << hamming("CAATTA","CGACGA") << endl;
cout << "Odwrotne uzupelnienie: CGAATTC -> " << odw("CGAATTC") << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKIGludCBpbGUoc3RyaW5nIHMsIGNoYXIgeikKIHsKIAlpbnQgaWxvc2M9MDsKIAlmb3IoaW50IGk9MDsgaTw9cy5zaXplKCktMSA7IGkrKykKIAkJaWYgKHNbaV09PXopIAogCQkJaWxvc2MrKzsKIAlyZXR1cm4gaWxvc2M7CiB9CiAKIAogaW50IHBhcnkoc3RyaW5nIHMpCiB7CiAJaW50IGlsb3NjPTA7CiAJZm9yKGludCBpPTA7IGk8cy5zaXplKCktMSA7IGkrKykKIAkJaWYgKHNbaV09PXNbaSsxXSkgCiAJCQlpbG9zYysrOwogCXJldHVybiBpbG9zYzsKIH0KIAogCiAKaW50IGhhbW1pbmcoc3RyaW5nIHMsIHN0cmluZyB0KQp7CglpbnQgaWxvc2M9MDsKCWZvcihpbnQgaT0wO2k8cy5zaXplKCk7aSsrKQoJewoJCWlmKHNbaV0hPXRbaV0pCgkJCWlsb3NjKys7Cgl9CglyZXR1cm4gaWxvc2M7Cn0KIAogCnN0cmluZyBvZHcoc3RyaW5nIHMpCnsKCXN0cmluZyB0PSIiOwoJY2hhciB6bjsKCWZvcihpbnQgaT0wOyBpPD1zLnNpemUoKS0xIDtpKyspCgl7CgkJaWYgKHNbaV09PSdUJykgCgkJCXpuPSdBJzsKCQllbHNlIGlmIChzW2ldPT0nQScpCgkJCXpuPSdUJzsKCQllbHNlIGlmKHNbaV09PSdDJykKCQkJem49J0cnOwoJCWVsc2Ugem49J0MnOwoJCQoJCXQ9em4rdDsKCX0KCXJldHVybiB0Owp9CiAKCmludCBtYWluKCkgewoJY291dCA8PCJJbGU6ICIgPDwgaWxlKCJDQUFUVEEiLCdBJykgPDwgZW5kbDsKCWNvdXQgPDwgIlBhcnk6ICIgPDwgcGFyeSgiQ0FBVFRBIikgPDwgZW5kbDsKCWNvdXQgPDwgIkhhbW1pbmc6ICIgPDwgaGFtbWluZygiQ0FBVFRBIiwiQ0dBQ0dBIikgPDwgZW5kbDsKCWNvdXQgPDwgIk9kd3JvdG5lIHV6dXBlbG5pZW5pZTogQ0dBQVRUQyAtPiAiIDw8IG9kdygiQ0dBQVRUQyIpIDw8IGVuZGw7CglyZXR1cm4gMDsKfQ==