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

C++ प्रोग्राम दो वेक्टर के डॉट प्रोडक्ट और क्रॉस प्रोडक्ट के लिए


हमें दो वेक्टर दिए गए हैं मान लें वेक्टर A और वेक्टर B जिनमें x, y, और z दिशाएं हैं, और कार्य दो दिए गए वेक्टर सरणियों के क्रॉस प्रोडक्ट और डॉट प्रोडक्ट को खोजना है।

वेक्टर क्या है?

गणित में, एक मात्रा जिसका परिमाण और दिशा होती है, वेक्टर के रूप में जानी जाती है जबकि एक मात्रा जिसका केवल एक मान परिमाण के रूप में होता है, स्केलर के रूप में जानी जाती है। वह बिंदु जहां से वेक्टर शुरू होता है, प्रारंभिक बिंदु के रूप में जाना जाता है और वह बिंदु जहां वेक्टर समाप्त होता है, टर्मिनल बिंदु के रूप में जाना जाता है। वेक्टर के प्रारंभिक बिंदु और टर्मिनल बिंदु के बीच की दूरी वेक्टर के परिमाण के रूप में जानी जाती है।

वेक्टर के कई प्रकार होते हैं जैसे −

  • यूनिट वेक्टर − एक वेक्टर जिसका परिमाण एकता है जो 1 है, यूनिट वेक्टर के रूप में जाना जाता है।
  • जीरो वेक्टर − इसे NULL वेक्टर के रूप में भी जाना जाता है क्योंकि इस प्रकार के वेक्टर में प्रारंभिक बिंदु और टर्मिनल बिंदु समान होते हैं।
  • कोइनिशियल वेक्टर − यदि दो या अधिक वेक्टर का समान प्रारंभिक बिंदु या प्रारंभिक बिंदु है तो उन्हें कोइनिशियल वेक्टर कहा जाता है
  • कोलिनियर वेक्टर − यदि दो या अधिक वेक्टर एक ही रेखा के समानांतर हैं तो उन्हें कोलिनियर वेक्टर कहा जाता है
  • इक्वल वेक्टर − यदि दो वेक्टर का समान परिमाण और दिशा है तो उन्हें इक्वल वेक्टर कहा जाता है

डॉट प्रोडक्ट क्या है?

डॉट प्रोडक्ट को स्केलर प्रोडक्ट के रूप में भी जाना जाता है जिसे इस प्रकार परिभाषित किया गया है −

मान लें हमारे पास दो वेक्टर A = a1 * i + a2 * j + a3 * k और B = b1 * i + b2 * j + b3 * k हैं जहां i, j और k यूनिट वेक्टर हैं जिनका अर्थ है उनका मान 1 है और x, y और z वेक्टर की दिशाएं हैं तो डॉट प्रोडक्ट या स्केलर प्रोडक्ट a1 * b1 + a2 * b2 + a3 * b3 के बराबर है

इनपुट-: A = 2 * i + 7 * j + 2 * k B = 3 * i + 1 * j + 5 * k आउटपुट-: 2 * 3 + 7 * 1 + 2 * 5 = 23

क्रॉस प्रोडक्ट क्या है?

क्रॉस प्रोडक्ट को वेक्टर प्रोडक्ट के रूप में भी जाना जाता है जिसे इस प्रकार परिभाषित किया गया है −

मान लें हमारे पास दो वेक्टर A = a1 * i + a2 * j + a3 * k और B = b1 * i + b2 * j + b3 * k हैं। तब क्रॉस प्रोडक्ट (a2 * b3 - a3 * b2) * i - (a1 * b3 - a3 * b1) * j + (a1 * b2 - a2 * b1) * k के बराबर है, जहां a2 * b3 - a3 * b2, a1 * b3 - a3 * b1 और a1 * b1 - a2 * b1 यूनिट वेक्टर के गुणांक हैं और i, j और k वेक्टर की दिशाएं हैं।

इनपुट-: A = 2 * i + 7 * j + 2 * k B = 3 * i + 1 * j + 5 * k आउटपुट-: (7 * 5 - 2 * 1)i + (2 * 5 - 2 * 3)j - (2 * 1 - 7 * 3)k

एल्गोरिदम

शुरुआत चरण 1 -> दो वेक्टर के डॉट प्रोडक्ट की गणना करने के लिए फ़ंक्शन घोषित करें    int dot_product(int vector_a[], int vector_b[])    int product = 0 घोषित करें    लूप i = 0 से i < size और i++ तक       product = product + vector_a[i] * vector_b[i] सेट करें    अंत    product वापस करें चरण 2 -> दो वेक्टर के क्रॉस प्रोडक्ट की गणना करने के लिए फ़ंक्शन घोषित करें    void cross_product(int vector_a[], int vector_b[], int temp[])    temp[0] = vector_a[1] * vector_b[2] - vector_a[2] * vector_b[1] सेट करें    temp[1] = -(vector_a[0] * vector_b[2] - vector_a[2] * vector_b[0]) सेट करें    temp[2] = vector_a[0] * vector_b[1] - vector_a[1] * vector_b[0] चरण 3-> main() में    वेक्टर घोषित करें int vector_a[] = { 4, 2, -1 }    वेक्टर घोषित करें int vector_b[] = { 5, 7, 1 }    वेरिएबल घोषित करें int temp[size]    डॉट प्रोडक्ट के लिए फ़ंक्शन कॉल करें dot_product(vector_a, vector_b)    क्रॉस प्रोडक्ट के लिए फ़ंक्शन कॉल करें cross_product(vector_a, vector_b)    लूप i = 0 से i < size और i++ तक    temp[i] प्रिंट करें अंत रुकें

उदाहरण

#include <bits/stdc++.h> #define size 3 using namespace std; //दो वेक्टर के डॉट प्रोडक्ट की गणना करने का फ़ंक्शन int dot_product(int vector_a[], int vector_b[]) {    int product = 0;    for (int i = 0; i < size; i++)    product = product + vector_a[i] * vector_b[i];    return product; } //दो वेक्टर के क्रॉस प्रोडक्ट की गणना करने का फ़ंक्शन void cross_product(int vector_a[], int vector_b[], int temp[]) {    temp[0] = vector_a[1] * vector_b[2] - vector_a[2] * vector_b[1];    temp[1] = -(vector_a[0] * vector_b[2] - vector_a[2] * vector_b[0]);    temp[2] = vector_a[0] * vector_b[1] - vector_a[1] * vector_b[0]; } int main() {    int vector_a[] = { 4, 2, -1 };    int vector_b[] = { 5, 7, 1 };    int temp[size];    cout << "डॉट प्रोडक्ट:";    cout << dot_product(vector_a, vector_b) << endl;    cout << "क्रॉस प्रोडक्ट:";    cross_product(vector_a, vector_b, temp);    for (int i = 0; i < size; i++)    cout << temp[i] << " ";    return 0; }

आउटपुट

डॉट प्रोडक्ट:33 क्रॉस प्रोडक्ट:9 -9 18

  1. C++ में दो रेखाओं के प्रतिच्छेदन बिंदु के लिए प्रोग्राम C++ में दो रेखाओं के प्रतिच्छेदन बिंदु के लिए प्रोग्राम

    दिए गए बिंदु A और B रेखा AB के अनुरूप हैं और बिंदु P और Q रेखा PQ के अनुरूप हैं; कार्य इन दो रेखाओं के बीच प्रतिच्छेदन बिंदु को खोजना है।नोट − बिंदु X और Y निर्देशांकों पर 2D तल में दिए गए हैं।यहां A(a1, a2), B(b1, b2) और C(c1, c2), D(d1, d2) वे निर्देशांक हैं जो दो अलग-अलग रेखाएं बनाते हैं और

  1. C++ में घनाभ का आयतन और पृष्ठीय क्षेत्रफल C++ में घनाभ का आयतन और पृष्ठीय क्षेत्रफल

    घनाभ क्या है?घनाभ एक त्रि-आयामी वस्तु है जिसके छह फलक आयताकार आकार के होते हैं जिसका मतलब है कि इसकी लंबाई और चौड़ाई अलग-अलग होती है। घन और घनाभ में अंतर यह है कि घन की लंबाई, ऊंचाई और चौड़ाई समान होती है जबकि घनाभ में ये तीनों समान नहीं होती।घनाभ के गुण हैं -छह फलक12 किनारे8 शीर्षनीचे घन का चित्र द

  1. C++ में घन का आयतन और पृष्ठीय क्षेत्रफल C++ में घन का आयतन और पृष्ठीय क्षेत्रफल

    घन क्या है?घन एक त्रि-आयामी वस्तु है जिसके छह फलक वर्गाकार आकार के होते हैं जिसका मतलब है कि इसकी लंबाई और चौड़ाई समान होती है। घन एकमात्र नियमित हेक्साहेड्रॉन है जिसमें निम्नलिखित गुण हैं -छह फलक12 किनारे8 शीर्षनीचे घन का चित्र दिया गया हैसमस्याभुजा दी गई है, कार्य घन का कुल पृष्ठीय क्षेत्रफल और आय