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

সি++-এ তিনটি বিন্দু সমরৈখিক (collinear) কিনা তা যাচাই করার প্রোগ্রাম


তিনটি ভিন্ন মানের বিন্দু দেওয়া আছে। কাজ হলো বিন্দুগুলো একই সরলরেখায় আছে কিনা (সমরৈখিক) তা যাচাই করা।

বিন্দুগুলো যদি একই সরলরেখায় থাকে তবে সেগুলো সমরৈখিক, অন্যথায় নন-সমরৈখিক।

ইনপুট

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

  1. সি++-এ অ্যারে বিটোনিক (Bitonic) কিনা তা যাচাই করার প্রোগ্রাম

  2. C++-এ একটি রেখায় সর্বোচ্চ পয়েন্ট (Max Points on a Line)

  3. সি++ প্রোগ্রাম: ৩-মাত্রিক সমতলে বিন্দুগুলো সমতলাকার কিনা যাচাই

  4. C++-এ আইডেমপটেন্ট ম্যাট্রিক্স যাচাই করার প্রোগ্রাম