#include <iostream>
#include <cmath>
#include <vector>
#include <string>
using namespace std;
const double g = 9.8; // gravitasi
// Struktur untuk menyimpan data burung
struct Burung {
string nama;
double kecepatan; // m/s
double sudut_derajat; // derajat
};
// Fungsi menghitung ketinggian maksimum
double hitungKetinggianMaks(double kecepatan, double sudut_derajat) {
double sudut_radian = sudut_derajat * M_PI / 180.0;
return pow(kecepatan * sin(sudut_radian), 2) / (2 * g);
}
int main() {
int jumlahBurung;
cout << "Masukkan jumlah burung: ";
cin >> jumlahBurung;
vector<Burung> burungList(jumlahBurung);
// Input data untuk setiap burung
for (int i = 0; i < jumlahBurung; ++i) {
cout << "\nBurung ke-" << i + 1 << ":" << endl;
cout << "Nama burung: ";
cin >> burungList[i].nama;
cout << "Kecepatan awal (m/s): ";
cin >> burungList[i].kecepatan;
cout << "Sudut terbang (derajat): ";
cin >> burungList[i].sudut_derajat;
}
// Menampilkan hasil
cout << "\n=== HASIL PREDIKSI KETINGGIAN MAKSIMUM ===\n";
for (const auto& burung : burungList) {
double h_max = hitungKetinggianMaks(burung.kecepatan, burung.sudut_derajat);
cout << "Burung " << burung.nama << " -> Ketinggian maksimum: " << h_max << " meter\n";
}
return 0;
}