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

C++-এ লাইন ইকুয়েশন পূরণকারী অর্ডার্ড পয়েন্ট জোড়ার সংখ্যা


লাইন ইকুয়েশন y = mx + c দেওয়া আছে। একটি অ্যারে, m, c দিয়ে কতগুলো অর্ডার্ড পয়েন্ট জোড়া (arr[i], arr[j]) এই ইকুয়েশন পূরণ করে, তা বের করতে হবে।

উদাহরণ: arr=[1,2,3], m=1, c=1 হলে আউটপুট ২। জোড়া: (1,2) এবং (2,3)।

অ্যালগরিদম

  • অ্যারে, m, c আরম্ভ করুন
  • দুটি নেস্টেড লুপ (i, j) দিয়ে সব অর্ডার্ড পয়েন্ট যাচাই করুন
  • যদি arr[j] == m*arr[i] + c হয়, count++
  • count রিটার্ন করুন

ইমপ্লিমেন্টেশন

#include <bits/stdc++.h> using namespace std; bool isSatisfyingLineEquation(int arr[], int i, int j, int m, int c) {    if (i == j) return false;    return arr[j] == m * arr[i] + c; } int getOrderedPointsPairCount(int arr[], int n, int m, int c) {    int count = 0;    for (int i = 0; i < n; i++) {       for (int j = 0; j < n; j++) {          if (isSatisfyingLineEquation(arr, i, j, m, c)) count++;       }    }    return count; } int main() {    int arr[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };    int n = 10;    int m = 1, c = 1;    cout << getOrderedPointsPairCount(arr, n, m, c) << endl;    return 0; }

আউটপুট

9

  1. C++-এ Line Reflection: ২D প্লেনে বিন্দুগুলোর Y-অক্ষ সমান্তরাল প্রতিফলন লাইন আছে কিনা যাচাই করা

  2. C++-এ নাম্বার লাইনে দৃষ্টিগত সেরা পয়েন্ট গণনা

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

  4. C++-এ CHAR_BIT