#include <iostream>
using namespace std;
int main() {
char p1a, p1b, p2a, p2b;
cout << "Masukkan gen induk 1 (misal Aa): ";
cin >> p1a >> p1b;
cout << "Masukkan gen induk 2 (misal Aa): ";
cin >> p2a >> p2b;
int total = 0;
int AA = 0, Aa = 0, aa = 0;
// Semua kemungkinan kombinasi (4 kombinasi)
char anak1[2] = {p1a, p2a};
char anak2[2] = {p1a, p2b};
char anak3[2] = {p1b, p2a};
char anak4[2] = {p1b, p2b};
string kombinasi[4];
kombinasi[0] = string() + anak1[0] + anak1[1];
kombinasi[1] = string() + anak2[0] + anak2[1];
kombinasi[2] = string() + anak3[0] + anak3[1];
kombinasi[3] = string() + anak4[0] + anak4[1];
for (int i = 0; i < 4; i++) {
total++;
string gen = kombinasi[i];
// Normalisasi (misal aA jadi Aa)
if (gen[0] == 'a' && gen[1] == 'A') gen = "Aa";
if (gen == "AA") AA++;
else if (gen == "Aa") Aa++;
else if (gen == "aa") aa++;
}
cout << "\nHasil persentase keturunan F1:\n";
cout << "AA : " << (AA / (float)total) * 100 << "%\n";
cout << "Aa : " << (Aa / (float)total) * 100 << "%\n";
cout << "aa : " << (aa / (float)total) * 100 << "%\n";
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSB7CiAgICBjaGFyIHAxYSwgcDFiLCBwMmEsIHAyYjsKICAgIGNvdXQgPDwgIk1hc3Vra2FuIGdlbiBpbmR1ayAxIChtaXNhbCBBYSk6ICI7CiAgICBjaW4gPj4gcDFhID4+IHAxYjsKICAgIGNvdXQgPDwgIk1hc3Vra2FuIGdlbiBpbmR1ayAyIChtaXNhbCBBYSk6ICI7CiAgICBjaW4gPj4gcDJhID4+IHAyYjsKCiAgICBpbnQgdG90YWwgPSAwOwogICAgaW50IEFBID0gMCwgQWEgPSAwLCBhYSA9IDA7CgogICAgLy8gU2VtdWEga2VtdW5na2luYW4ga29tYmluYXNpICg0IGtvbWJpbmFzaSkKICAgIGNoYXIgYW5hazFbMl0gPSB7cDFhLCBwMmF9OwogICAgY2hhciBhbmFrMlsyXSA9IHtwMWEsIHAyYn07CiAgICBjaGFyIGFuYWszWzJdID0ge3AxYiwgcDJhfTsKICAgIGNoYXIgYW5hazRbMl0gPSB7cDFiLCBwMmJ9OwoKICAgIHN0cmluZyBrb21iaW5hc2lbNF07CiAgICBrb21iaW5hc2lbMF0gPSBzdHJpbmcoKSArIGFuYWsxWzBdICsgYW5hazFbMV07CiAgICBrb21iaW5hc2lbMV0gPSBzdHJpbmcoKSArIGFuYWsyWzBdICsgYW5hazJbMV07CiAgICBrb21iaW5hc2lbMl0gPSBzdHJpbmcoKSArIGFuYWszWzBdICsgYW5hazNbMV07CiAgICBrb21iaW5hc2lbM10gPSBzdHJpbmcoKSArIGFuYWs0WzBdICsgYW5hazRbMV07CgogICAgZm9yIChpbnQgaSA9IDA7IGkgPCA0OyBpKyspIHsKICAgICAgICB0b3RhbCsrOwogICAgICAgIHN0cmluZyBnZW4gPSBrb21iaW5hc2lbaV07CiAgICAgICAgLy8gTm9ybWFsaXNhc2kgKG1pc2FsIGFBIGphZGkgQWEpCiAgICAgICAgaWYgKGdlblswXSA9PSAnYScgJiYgZ2VuWzFdID09ICdBJykgZ2VuID0gIkFhIjsKICAgICAgICBpZiAoZ2VuID09ICJBQSIpIEFBKys7CiAgICAgICAgZWxzZSBpZiAoZ2VuID09ICJBYSIpIEFhKys7CiAgICAgICAgZWxzZSBpZiAoZ2VuID09ICJhYSIpIGFhKys7CiAgICB9CgogICAgY291dCA8PCAiXG5IYXNpbCBwZXJzZW50YXNlIGtldHVydW5hbiBGMTpcbiI7CiAgICBjb3V0IDw8ICJBQSA6ICIgPDwgKEFBIC8gKGZsb2F0KXRvdGFsKSAqIDEwMCA8PCAiJVxuIjsKICAgIGNvdXQgPDwgIkFhIDogIiA8PCAoQWEgLyAoZmxvYXQpdG90YWwpICogMTAwIDw8ICIlXG4iOwogICAgY291dCA8PCAiYWEgOiAiIDw8IChhYSAvIChmbG9hdCl0b3RhbCkgKiAxMDAgPDwgIiVcbiI7CgogICAgcmV0dXJuIDA7Cn0K