fork download
  1. #include <iostream>
  2. #include <string>
  3. #include <algorithm>
  4.  
  5. using namespace std;
  6.  
  7. // Fungsi untuk menentukan fenotipe
  8. string fenotipe(const string& geno) {
  9. if (geno[0] == 'A' || geno[1] == 'A') {
  10. return "Dominan";
  11. } else {
  12. return "Resesif";
  13. }
  14. }
  15.  
  16. int main() {
  17. string induk1, induk2;
  18. string f1[4]; // Menyimpan 4 kemungkinan F1
  19. int countAA = 0, countAa = 0, countaa = 0;
  20.  
  21. cout << "Masukkan genotipe induk 1 (contoh: Aa): ";
  22. cin >> induk1;
  23. cout << "Masukkan genotipe induk 2 (contoh: Aa): ";
  24. cin >> induk2;
  25.  
  26. // Membuat kombinasi F1
  27. int index = 0;
  28. for (int i = 0; i < 2; i++) {
  29. for (int j = 0; j < 2; j++) {
  30. string g = "";
  31. g += induk1[i];
  32. g += induk2[j];
  33.  
  34. // Urutkan huruf agar konsisten (AA, Aa, aa)
  35. if (g[0] > g[1]) swap(g[0], g[1]);
  36.  
  37. f1[index++] = g;
  38. }
  39. }
  40.  
  41. // Hitung frekuensi genotipe
  42. for (int i = 0; i < 4; i++) {
  43. if (f1[i] == "AA") countAA++;
  44. else if (f1[i] == "Aa") countAa++;
  45. else if (f1[i] == "aA") countAa++; // jika Aa tertukar
  46. else if (f1[i] == "aa") countaa++;
  47. }
  48.  
  49. cout << "\nPersentase Genotipe F1:\n";
  50. cout << "AA: " << countAA * 25.0 << "%\n";
  51. cout << "Aa: " << countAa * 25.0 << "%\n";
  52. cout << "aa: " << countaa * 25.0 << "%\n";
  53.  
  54. // Hitung persentase fenotipe
  55. int countDominan = countAA + countAa;
  56. int countResesif = countaa;
  57.  
  58. cout << "\nPersentase Fenotipe F1:\n";
  59. cout << "Dominan: " << countDominan * 25.0 << "%\n";
  60. cout << "Resesif: " << countResesif * 25.0 << "%\n";
  61.  
  62. return 0;
  63. }
  64.  
Success #stdin #stdout 0s 5320KB
stdin
2 2
0 0
0 0
stdout
Masukkan genotipe induk 1 (contoh: Aa): Masukkan genotipe induk 2 (contoh: Aa): 
Persentase Genotipe F1:
AA: 0%
Aa: 0%
aa: 0%

Persentase Fenotipe F1:
Dominan: 0%
Resesif: 0%