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

C++ प्रोग्राम: सबसे लंबा सामान्य उपस्ट्रिंग (Longest Common Substring) प्रिंट करना

इस ट्यूटोरियल में, हम सबसे लंबे सामान्य उपस्ट्रिंग (longest common substring) को प्रिंट करने के प्रोग्राम पर चर्चा करेंगे।

इसके लिए हमें दो स्ट्रिंग्स A और B दी जाएंगी। हमें इनपुट स्ट्रिंग्स A और B दोनों के लिए सामान्य सबसे लंबा उपस्ट्रिंग प्रिंट करना होगा।

उदाहरण के लिए, यदि हमें "HelloWorld" और "world book" दिया जाता है। तो इस मामले में सबसे लंबा सामान्य उपस्ट्रिंग "world" होगा।

उदाहरण

#include <iostream>
#include <stdlib.h>
#include <string.h>
using namespace std;

void print_lstring(char* X, char* Y, int m, int n) {
    int longest[m + 1][n + 1];
    int len = 0;
    int row, col;
    for (int i = 0; i <= m; i++) {
        for (int j = 0; j <= n; j++) {
            if (i == 0 || j == 0)
                longest[i][j] = 0;
            else if (X[i - 1] == Y[j - 1]) {
                longest[i][j] = longest[i - 1][j - 1] + 1;
                if (len < longest[i][j]) {
                    len = longest[i][j];
                    row = i;
                    col = j;
                }
            } else
                longest[i][j] = 0;
        }
    }
    if (len == 0) {
        cout << "There exists no common substring";
        return;
    }
    char* final_str = (char*)malloc((len + 1) * sizeof(char));
    while (longest[row][col] != 0) {
        final_str[--len] = X[row - 1];
        row--;
        col--;
    }
    cout << final_str;
}

int main() {
    char X[] = "helloworld";
    char Y[] = "worldbook";
    int m = strlen(X);
    int n = strlen(Y);
    print_lstring(X, Y, m, n);
    return 0;
}

आउटपुट

world
  1. C++ प्रोग्राम: बाइनरी ट्री के विषम स्तरों पर नोड्स प्रिंट करना C++ प्रोग्राम: बाइनरी ट्री के विषम स्तरों पर नोड्स प्रिंट करना

    इस ट्यूटोरियल में, हम एक दिए गए बाइनरी ट्री के विषम स्तरों पर मौजूद नोड्स को प्रिंट करने के प्रोग्राम पर चर्चा करेंगे। इस प्रोग्राम में, रूट नोड के लिए स्तर 1 माना जाता है और साथ ही वैकल्पिक स्तर अगला विषम स्तर होता है। उदाहरण के लिए, मान लें हमें निम्नलिखित बाइनरी ट्री दिया गया है: तो इस बाइनरी

  1. C++ का उपयोग करके एलिप्स का क्षेत्रफल ज्ञात करना C++ का उपयोग करके एलिप्स का क्षेत्रफल ज्ञात करना

    यहां हम देखेंगे कि C++ का उपयोग करके एलिप्स का क्षेत्रफल कैसे प्राप्त किया जाए। एलिप्स के विभिन्न भाग होते हैं। ये नीचे दिए गए हैं।मुख्य बिंदुविवरणसेंटरएलिप्स का केंद्र। यह उन लाइन सेगमेंट्स का भी केंद्र है जो दो फोकी को जोड़ते हैं।मेजर एक्सिसएलिप्स का सबसे लंबा व्यासnmembयह एलिमेंट्स की संख्या है,

  1. - शेकर सॉर्ट करने के लिए C++ प्रोग्राम

    शेकर सॉर्ट का उपयोग दिए गए डेटा को सॉर्ट करने के लिए किया जाता है। बबल सॉर्ट के विपरीत, शेकर सॉर्ट सरणी को दोनों दिशाओं में ऑर्डर करता है। इस एल्गोरिदम की सबसे खराब जटिलता O(n^2) है। एल्गोरिदम शुरुआत    ShakerSort() फ़ंक्शन में arr डेटा की सरणी और n मानों की संख्या, आर्गुमेंट सूची में होती