fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int main() {
  5. char p1a, p1b, p2a, p2b;
  6. cout << "Masukkan gen induk 1 (misal Aa): ";
  7. cin >> p1a >> p1b;
  8. cout << "Masukkan gen induk 2 (misal Aa): ";
  9. cin >> p2a >> p2b;
  10.  
  11. int total = 0;
  12. int AA = 0, Aa = 0, aa = 0;
  13.  
  14. // Semua kemungkinan kombinasi (4 kombinasi)
  15. char anak1[2] = {p1a, p2a};
  16. char anak2[2] = {p1a, p2b};
  17. char anak3[2] = {p1b, p2a};
  18. char anak4[2] = {p1b, p2b};
  19.  
  20. string kombinasi[4];
  21. kombinasi[0] = string() + anak1[0] + anak1[1];
  22. kombinasi[1] = string() + anak2[0] + anak2[1];
  23. kombinasi[2] = string() + anak3[0] + anak3[1];
  24. kombinasi[3] = string() + anak4[0] + anak4[1];
  25.  
  26. for (int i = 0; i < 4; i++) {
  27. total++;
  28. string gen = kombinasi[i];
  29. // Normalisasi (misal aA jadi Aa)
  30. if (gen[0] == 'a' && gen[1] == 'A') gen = "Aa";
  31. if (gen == "AA") AA++;
  32. else if (gen == "Aa") Aa++;
  33. else if (gen == "aa") aa++;
  34. }
  35.  
  36. cout << "\nHasil persentase keturunan F1:\n";
  37. cout << "AA : " << (AA / (float)total) * 100 << "%\n";
  38. cout << "Aa : " << (Aa / (float)total) * 100 << "%\n";
  39. cout << "aa : " << (aa / (float)total) * 100 << "%\n";
  40.  
  41. return 0;
  42. }
  43.  
Success #stdin #stdout 0.01s 5288KB
stdin
2 2
0 0
0 0
stdout
Masukkan gen induk 1 (misal Aa): Masukkan gen induk 2 (misal Aa): 
Hasil persentase keturunan F1:
AA : 0%
Aa : 0%
aa : 0%