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

C प्रोग्राम: जांचें कि बिंदु X-अक्ष या Y-अक्ष के समानांतर हैं या नहीं

समस्या विवरण

दिए गए n बिंदु (x, y निर्देशांक), निर्धारित करें कि क्या वे X-अक्ष, Y-अक्ष के समानांतर एक रेखा बनाते हैं, या किसी के समानांतर नहीं हैं।

नियम

  • X-अक्ष के समानांतर: सभी y-निर्देशांक समान हैं
  • Y-अक्ष के समानांतर: सभी x-निर्देशांक समान हैं
  • किसी के समानांतर नहीं: x और y दोनों भिन्न हैं

उदाहरण

बिंदुआउटपुटकारण
(2,1), (3,1), (4,1), (0,1)X-अक्ष के समानांतरसभी y=1
(1,2), (1,3), (1,4), (1,0)Y-अक्ष के समानांतरसभी x=1
(1,2), (2,3), (3,4)किसी के समानांतर नहींx और y दोनों बदलते हैं
(5,5), (5,5), (5,5)दोनों के समानांतरएकल बिंदु (क्षय)

C प्रोग्राम

#include <stdio.h>
#include <stdbool.h>

void check_parallel(int n, int points[][2]) {
    if (n <= 1) {
        printf("एकल बिंदु - दोनों अक्षों के समानांतर (क्षय मामला)\n");
        return;
    }
    
    bool parallel_x = true;  // सभी y समान?
    bool parallel_y = true;  // सभी x समान?
    
    int first_x = points[0][0];
    int first_y = points[0][1];
    
    for (int i = 1; i < n; i++) {
        if (points[i][0] != first_x) parallel_y = false;
        if (points[i][1] != first_y) parallel_x = false;
    }
    
    if (parallel_x && parallel_y)
        printf("एकल बिंदु - दोनों के समानांतर\n");
    else if (parallel_x)
        printf("X-अक्ष के समानांतर\n");
    else if (parallel_y)
        printf("Y-अक्ष के समानांतर\n");
    else
        printf("किसी अक्ष के समानांतर नहीं\n");
}

int main() {
    int n;
    printf("बिंदुओं की संख्या: ");
    scanf("%d", &n);
    
    int points[n][2];
    for (int i = 0; i < n; i++) {
        printf("बिंदु %d (x y): ", i+1);
        scanf("%d %d", &points[i][0], &points[i][1]);
    }
    
    check_parallel(n, points);
    return 0;
}

नमूना आउटपुट

बिंदुओं की संख्या: 4
बिंदु 1 (x y): 2 1
बिंदु 2 (x y): 3 1
बिंदु 3 (x y): 4 1
बिंदु 4 (x y): 0 1
X-अक्ष के समानांतर

सामान्यीकरण: रेखा ढलान

void line_orientation(int n, int points[][2]) {
    if (n < 2) { printf("अपर्याप्त बिंदु\n"); return; }
    
    // ढलान की गणना: (y2-y1)/(x2-x1)
    int dx = points[1][0] - points[0][0];
    int dy = points[1][1] - points[0][1];
    
    if (dx == 0 && dy == 0) {
        printf("समान बिंदु\n");
    } else if (dx == 0) {
        printf("लंबवत रेखा (Y-अक्ष के समानांतर)\n");
    } else if (dy == 0) {
        printf("क्षैतिज रेखा (X-अक्ष के समानांतर)\n");
    } else {
        double slope = (double)dy / dx;
        printf("ढलान: %.2f\n", slope);
        if (slope > 0) printf("ऊपर की ओर बढ़ती\n");
        else printf("नीचे की ओर बढ़ती\n");
    }
}

ज्यामितीय व्याख्या

  • क्षैतिज रेखा (y = c): ढलान = 0, X-अक्ष के समानांतर
  • लंबवत रेखा (x = c): ढलान अपरिभाषित, Y-अक्ष के समानांतर
  • तिरछी रेखा: शून्येतर परिमित ढलान
  1. C++ प्रोग्राम: 3-D तल में बिंदुओं का समतलीय होना जांचना C++ प्रोग्राम: 3-D तल में बिंदुओं का समतलीय होना जांचना

    बिंदु (x1, y1, z1), (x2, y2, z2), (x3, y3, z3) और (x4, y4, z4) दिए गए हैं और प्रोग्राम को जांचना होगा कि दिए गए बिंदु समतलीय (coplanar) हैं या नहीं। बिंदुओं को समतलीय कहा जाता है यदि वे एक ही तल के अंतर्गत आते हैं और यदि वे अलग-अलग तलों के अंतर्गत आते हैं तो बिंदु समतलीय नहीं हैं। नीचे एक छवि दी गई

  1. पायथन में प्रत्येक एलिमेंट को n बार दोहराकर रेप्लिकेटेड लिस्ट ढूंढने का प्रोग्राम पायथन में प्रत्येक एलिमेंट को n बार दोहराकर रेप्लिकेटेड लिस्ट ढूंढने का प्रोग्राम

    मान लीजिए हमारे पास n एलिमेंट्स की एक सूची है; हमें सूची में प्रत्येक एलिमेंट को n बार दोहराना है। तो, यदि इनपुट nums = [1,5,8,3] है, तो आउटपुट [1, 1, 1, 1, 5, 5, 5, 5, 8, 8, 8, 8, 3, 3, 3, 3] होगा। इसे हल करने के लिए, हम इन चरणों का पालन करेंगे: n := nums का आकार ret := एक नई सूची nums में प्रत्ये

  1. पायथन में दाएं k बार घुमाकर ith एलिमेंट ढूंढने का प्रोग्राम पायथन में दाएं k बार घुमाकर ith एलिमेंट ढूंढने का प्रोग्राम

    मान लीजिए हमारे पास nums नामक एक ऐरे है, और एक मान k और दूसरा मान i है। हमें nums के एलिमेंट्स को दाएं k बार घुमाने के बाद इंडेक्स i पर एलिमेंट ढूंढना है। तो, यदि इनपुट nums = [2,7,9,8,10] k = 3 i = 2 है, तो आउटपुट 10 होगा क्योंकि तीसरे रोटेशन के बाद ऐरे [9,8,10,2,7] होगा, इसलिए अब ith एलिमेंट nums[