কম্পিউটার টিউটোরিয়াল

C++ প্রোগ্রাম: গ্রেট সার্কেল ডিস্ট্যান্স দিয়ে নিকটস্থ ক্যাব খুঁজে বের করা


GPS কোঅর্ডিনেট (ল্যাটিটিউড/লองিটিউড) থেকে গ্রেট সার্কেল ডিস্ট্যান্স বের করে ৫০ কিমির ভেতর ক্যাবগুলো খুঁজে বের করা। JSON ফাইল ইনপুট/আউটপুট হিসেবে ব্যবহার।

ফর্মুলা

Δλ = lon2 - lon1
θ = acos(sin φ1 sin φ2 + cos φ1 cos φ2 cos Δλ)
Distance = R × θ  (R = 6371 km)

C++ কোড স্ট্রাকচার

  • to_radian() — ডিগ্রি টু রেডিয়ান।
  • cal_distance() — গ্রেট সার্কেল ফর্মুলা।
  • file_parser() — JSON পার্স করে ল্যাট/লอง এক্সট্র্যাক্ট।
  • check_distance() — ৫০ কিমি চেক করে আউটপুট JSON-এ লিখুন।

মূল কোড (সংক্ষিপ্ত)

#include <bits/stdc++.h>
using namespace std;
#define PI 3.14159265358979323
#define R 6371.0
#define LAT1 12.9611159
#define LON1 77.6362214

double to_rad(double d) { return d * PI/180; }
double dist(double lat2, double lon2) {
    double φ1 = to_rad(LAT1), λ1 = to_rad(LON1);
    double φ2 = to_rad(lat2), λ2 = to_rad(lon2);
    double Δλ = λ2 - λ1;
    return R * acos(sin(φ1)*sin(φ2) + cos(φ1)*cos(φ2)*cos(Δλ));
}
// JSON পার্সিং লজিক (input.json পড়ে output.json লিখে)
int main() { /* access_file object; object.file_parser(); */ return 0; }

আউটপুট

output.json ফাইলে ৫০ কিমির ভেতরের ক্যাবের User_id ও Name থাকবে।
  1. C++ ব্যবহার করে এলিপসের এরিয়া বের করা

  2. রিকার্সন ব্যবহার করে GCD (Greatest Common Divisor) বের করার C++ প্রোগ্রাম

  3. C++ প্রোগ্রাম: LCM (লঘুতম সাধারণ গুণিতক) নির্ণয়

  4. C++ প্রোগ্রাম: GCD (মহত্তম সাধারণ ভাজক) নির্ণয়