আমরা দুটি মাত্রায় উপহার মোড়ানো অ্যালগরিদম বাস্তবায়নের জন্য একটি C++ প্রোগ্রাম তৈরি করব। গিফট র্যাপিং অ্যালগরিদম হল একটি নির্দিষ্ট পয়েন্টের উত্তল হুল গণনা করার জন্য একটি অ্যালগরিদম।
অ্যালগরিদম
n পয়েন্টের একটি সেটের উত্তল হুল খুঁজে বের করতে convexHull() ফাংশনটি শুরু করুন:কমপক্ষে তিনটি বিন্দু থাকতে হবে। ফলাফল শুরু করুন। বাম বিন্দু খুঁজুন. বাঁদিকের বিন্দু থেকে শুরু করে, আবার স্টার্ট পয়েন্টে না পৌঁছানো পর্যন্ত ঘড়ির কাঁটার বিপরীত দিকে চলতে থাকুন। ফলাফল প্রিন্ট করুন। শেষউদাহরণ কোড
#includenamespace std ব্যবহার করে;#define INF 10000struct P { int x; int y;};int orient(P a, P b, P c) { int v =(b.y - a.y) * (c.x - b.x) - (b.x - a.x) * (c.y - b.y); যদি (v ==0) রিটার্ন 0; // কলিনিয়ার রিটার্ন (v>0)? 1 :2; // ঘড়ি বা কাউন্টারক্লক ওয়াইজ} void convexHull(P points[], int m) { যদি (m <3)//অন্তত তিন পয়েন্ট রিটার্নের প্রয়োজন হয়; int n[m]; জন্য (int i =0; i আউটপুট
উত্তল হুলের বিন্দুগুলো হল:(0, 4)(4, 1)(3, 0)(1, 1)(7, 6)