fork download
  1. #include <iostream>
  2. #include <vector>
  3. #include <string>
  4. #include <iomanip>
  5. #include <cmath>
  6.  
  7. using namespace std;
  8.  
  9. const double g = 9.8;
  10.  
  11. struct Orang {
  12. string nama;
  13. double kecepatanAwal;
  14. double sudutDerajat;
  15. double ketinggian;
  16. };
  17.  
  18. double hitungKetinggian(double v, double sudutDerajat) {
  19. double sudutRad = sudutDerajat * M_PI / 180.0;
  20. double vy = v * sin(sudutRad);
  21. return (vy * vy) / (2 * g);
  22. }
  23.  
  24. int main() {
  25. int jumlah;
  26. cout << "Masukkan jumlah orang (termasuk Boro): ";
  27. cin >> jumlah;
  28.  
  29. vector<Orang> orangList(jumlah);
  30.  
  31. for (int i = 0; i < jumlah; ++i) {
  32. cout << "Masukkan nama orang ke-" << i + 1 << ": ";
  33. cin >> orangList[i].nama;
  34.  
  35. cout << "Masukkan kecepatan awal (m/s) " << orangList[i].nama << ": ";
  36. cin >> orangList[i].kecepatanAwal;
  37.  
  38. cout << "Masukkan sudut lemparan (derajat) " << orangList[i].nama << ": ";
  39. cin >> orangList[i].sudutDerajat;
  40.  
  41. orangList[i].ketinggian = hitungKetinggian(orangList[i].kecepatanAwal, orangList[i].sudutDerajat);
  42. }
  43.  
  44. cout << fixed << setprecision(2);
  45. cout << "\n=== Hasil Prediksi Ketinggian Maksimum ===\n";
  46. for (const auto& orang : orangList) {
  47. cout << orang.nama << " akan mencapai ketinggian sekitar "
  48. << orang.ketinggian << " meter.\n";
  49. }
  50.  
  51. return 0;
  52. }
  53.  
Success #stdin #stdout 0.01s 5292KB
stdin
Masukkan jumlah orang (termasuk Boro): 2
Masukkan nama orang ke-1: Boro
Masukkan kecepatan awal (m/s) Boro: 59.64
Masukkan sudut lemparan (derajat) Boro: 90
Masukkan nama orang ke-2: Dedi
Masukkan kecepatan awal (m/s) Dedi: 30
Masukkan sudut lemparan (derajat) Dedi: 45
stdout
Masukkan jumlah orang (termasuk Boro): 
=== Hasil Prediksi Ketinggian Maksimum ===