Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C++

C++ में वृत्त में बॉक्स जोड़ने की संभावना जांचने की क्वेरी

इस ट्यूटोरियल में, हम वृत्त में बॉक्स जोड़ने की संभावना जांचने की क्वेरी पर चर्चा करेंगे।

इसके लिए हमें 1 से n तक चलने वाले बॉक्स का एक वृत्त प्रदान किया जाएगा। हमारा कार्य यह पता लगाना है कि बॉक्स i को बॉक्स j से एक छड़ के साथ जोड़ा जा सकता है या नहीं बिना पिछली छड़ों को काटे।

C++ प्रोग्राम उदाहरण

#include <bits/stdc++.h>
using namespace std;

// बॉक्स से वृत्त बनाना संभव है या नहीं चेक करना
void isPossible(int n, int q, int queryi[], int queryj[]) {
    int arr[50];
    for (int i = 0; i <= n; i++)
        arr[i] = 0;
    for (int k = 0; k < q; k++) {
        int check = 0;
        if (queryj[k] < queryi[k]) {
            int temp = queryi[k];
            queryi[k] = queryj[k];
            queryj[k] = temp;
        }
        if (arr[queryi[k]] != 0 || arr[queryj[k]] != 0)
            check = 1;
        else if (queryi[k] == queryj[k])
            check = 1;
        else {
            for (int i = 1; i < queryi[k]; i++) {
                if (arr[i] != 0 && arr[i] < queryj[k] && queryi[k] < arr[i]) {
                    check = 1;
                    break;
                }
            }
            if (check == 0) {
                for (int i = queryi[k] + 1; i < queryj[k]; i++) {
                    if (arr[i] != 0 && arr[i] > queryj[k]) {
                        check = 1;
                        break;
                    }
                }
            }
        }
        if (check == 0) {
            cout << "Possible" << endl;
            arr[queryi[k]] = queryj[k];
            arr[queryj[k]] = queryi[k];
        } else
            cout << "Not Possible" << endl;
    }
}

int main() {
    int size = 5;
    int q = 2;
    int queryi[] = { 3, 5 };
    int queryj[] = { 1, 4 };
    isPossible(size, q, queryi, queryj);
    return 0;
}

आउटपुट

Possible
Possible
  1. C++ में वृत्त और आयत के ओवरलैप की जांच C++ में वृत्त और आयत के ओवरलैप की जांच

    मान लीजिए हमारे पास एक वृत्त है जिसे (त्रिज्या, xc, yc) से दर्शाया जाता है, जहां (xc, yc) केंद्र के निर्देशांक हैं। हमारे पास एक अक्ष-संरेखित आयत भी है जिसे (x1, y1, x2, y2) से दर्शाया जाता है, जहां (x1, y1) निचले-बाएं कोने के निर्देशांक हैं और (x2, y2) ऊपरी-दाएं कोने के निर्देशांक हैं। हमें जांचना

  1. C++ में रेखा वृत्त को स्पर्श करती है, प्रतिच्छेद करती है या बाहर है जांचें C++ में रेखा वृत्त को स्पर्श करती है, प्रतिच्छेद करती है या बाहर है जांचें

    समस्या विवरण एक वृत्त (केंद्र h,k और त्रिज्या r) और रेखा (ax+by+c=0) दी गई है। जांचें कि रेखा वृत्त को स्पर्श करती है, प्रतिच्छेद करती है, या बाहर है। विधि केंद्र से रेखा की लंबवत दूरी P निकालें: P = |ah + bk + c| / √(a²+b²) P की त्रिज्या r से तुलना करें: r → बाहर P = r → स्पर्श करती है

  1. C++ में इडेम्पोटेंट मैट्रिक्स जांचें C++ में इडेम्पोटेंट मैट्रिक्स जांचें

    एक मैट्रिक्स M[r][c] दिया गया है, r पंक्तियों की संख्या दर्शाता है और c कॉलम की संख्या दर्शाता है जैसे कि r = c एक स्क्वायर मैट्रिक्स बनाता है। हमें जांचना है कि दिया गया स्क्वायर मैट्रिक्स इडेम्पोटेंट मैट्रिक्स है या नहीं।इडेम्पोटेंट मैट्रिक्सएक मैट्रिक्स M को इडेम्पोटेंट मैट्रिक्स कहा जाता है यदि