তিনটি ভিন্ন মানের বিন্দু দেওয়া আছে। কাজ হলো বিন্দুগুলো একই সরলরেখায় আছে কিনা (সমরৈখিক) তা যাচাই করা।
বিন্দুগুলো যদি একই সরলরেখায় থাকে তবে সেগুলো সমরৈখিক, অন্যথায় নন-সমরৈখিক।
ইনপুট
x1 = 1, x2 = 2, x3 = 3, y1 = 1, y2 = 4, y3 = 5
আউটপুট
no points are not collinear
ইনপুট
x1 = 1, y1 = 1, x2 = 1, y2 = 4, x3 = 1, y3 = 5
আউটপুট
points are collinear
পদ্ধতি
- বিন্দুগুলো ইনপুট নিন: (x1, y1), (x2, y2), (x3, y3)
- ত্রিভুজের ক্ষেত্রফলের সূত্র প্রয়োগ করুন:
area = x1*(y2 - y3) + x2*(y3 - y1) + x3*(y1 - y2) - শর্ত যাচাই করুন:
- ক্ষেত্রফল = 0 হলে → বিন্দুগুলো সমরৈখিক।
- ক্ষেত্রফল ≠ 0 হলে → বিন্দুগুলো সমরৈখিক নন।
এলগরিদম
Start
Step 1 → ফাংশন: check_collinear(int x1, int y1, int x2, int y2, int x3, int y3)
int a = x1*(y2-y3) + x2*(y3-y1) + x3*(y1-y2)
IF (a == 0) → Print "yes points are collinear"
ELSE → Print "no points are not collinear"
Step 2 → main(): মান ইনপুট, ফাংশন কল
Stop
উদাহরণ কোড
#include <bits/stdc++.h>
#include <math.h>
#include <stdlib.h>
using namespace std;
void check_collinear(int x1, int y1, int x2, int y2, int x3, int y3){
int a = x1 * (y2 - y3) + x2 * (y3 - y1) + x3 * (y1 - y2);
if (a == 0)
cout << "yes points are collinear";
else
cout << "no points are not collinear";
}
int main(){
int x1 = 1, x2 = 2, x3 = 3, y1 = 1, y2 = 4, y3 = 5;
check_collinear(x1, y1, x2, y2, x3, y3);
return 0;
}
আউটপুট
no points are not collinear