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

सी ++ प्रोग्राम एक निश्चित निश्चित डिग्री अनुक्रम के लिए एक ग्राफ उत्पन्न करने के लिए

यह एक सी ++ प्रोग्राम है जो दिए गए डिग्री अनुक्रम के लिए एक अप्रत्यक्ष ग्राफ का प्रतिनिधित्व करता है। इस एल्गोरिथम की समय जटिलता O(v*v) है और इसमें सेल्फ़-एज और एकाधिक किनारे शामिल नहीं हैं।

एल्गोरिदम

Begin
   To create the graph,
   Create the first loop to connect each vertex ‘i’.
   Create second nested loop to connect the vertex ‘i’ to every valid vertex ‘j’, next to it.
   If the degree of vertex ‘i’ and ‘j’ are more than zero, then connect them.
   Print the adjacency matrix using PrintMatrix().
End

उदाहरण कोड

#include<iostream>
#include<iomanip>
using namespace std;
void PrintMatrix(int matrix[][20], int n) {
   int i, j;
   cout<<"\n\n"<<setw(3)<<" ";
   for(i = 0; i < n; i++)
   cout<<setw(3)<<"("<<i+1<<")";
   cout<<"\n\n";
   for(i = 0; i < n; i++) {
      cout<<setw(4)<<"("<<i+1<<")";
      for(j = 0; j < n; j++) {
         cout<<setw(5)<<matrix[i][j];
      }
      cout<<"\n\n";
   }
}
int main() {
   int N, i, j, AdjMat[20][20] = {0};
   cout<<"Enter the number of vertex in the graph: ";
   cin>>N;
   int degseq[N];
   for(i = 0; i < N; i++) {
      cout<<"Enter the degree of "<<i+1<<" vertex: ";
     cin>>degseq[i];
   }
   for(i = 0; i < N; i++) {
      for(j = i+1; j < N; j++) {
         (degseq[i] > 0 && degseq[j] > 0) {
            degseq[i]--;
            degseq[j]--;
            AdjMat[i][j] = 1;
            AdjMat[j][i] = 1;
         }
      }
   }
   PrintMatrix(AdjMat, N);
}

आउटपुट

Enter the number of vertexes of the graph: 5
Enter the number of edges of the graph: 4
Enter the vertex pair for edge 1
V(1): 2
V(2): 1
Enter the vertex pair for edge 2
V(1): 3
V(2): 2
Enter the vertex pair for edge 3
V(1): 1
V(2): 1
Enter the vertex pair for edge 4
V(1): 3
V(2): 1
(1) (2) (3) (4) (5)
(1) 0 1 1 1 1
(2) 1 0 0 1 0
(3) 1 0 0 0 0
(4) 1 1 0 0 1
(5) 1 0 0 1 0

  1. द्विभाजन विधि के लिए C++ कार्यक्रम

    0 और फलन f(x) a और b के बीच होना चाहिए अर्थात f(x) =[a, b ]. कार्य द्विभाजन विधि का उपयोग करके फ़ंक्शन f(x) में अंतराल a और b के बीच स्थित रूट का मान ज्ञात करना है। द्विभाजन विधि क्या है? द्विभाजन विधि का प्रयोग a और b द्वारा परिभाषित दी गई सीमाओं के भीतर फलन f(x) में एक मूल का मान ज्ञात करने के

  1. सी++ में पिरामिड के आयतन के लिए कार्यक्रम

    पिरामिड के आधार के प्रकार के आधार पर पक्षों को देखते हुए पिरामिड के आयतन की गणना करना कार्य है। पिरामिड एक 3-डी आकृति है जिसकी बाहरी सतह पिरामिड के तेज किनारे को बनाने वाले सामान्य बिंदु पर त्रिकोणीय मिलती है। पिरामिड का आयतन उसके आधार के प्रकार पर निर्भर करता है। पिरामिड विभिन्न प्रकार के आधारों

  1. QuickSort के लिए C++ प्रोग्राम?

    क्विकसॉर्ट एक छँटाई तकनीक है जो एक क्रमबद्ध सूची (सरणी) को क्रमबद्ध करने के लिए तुलना का उपयोग करती है। Quicksort को पार्टीशन एक्सचेंज सॉर्ट के रूप में भी जाना जाता है। यह एक स्थिर प्रकार नहीं है, क्योंकि समान प्रकार की वस्तुओं का सापेक्ष क्रम संरक्षित नहीं है। क्विकसॉर्ट एक सरणी पर काम कर सकता है,