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

C++ में मैट्रिक्स में वह वर्ण ढूंढें जिसके चारों ओर अधिकतम तारे हों


मान लीजिए हमारे पास एक मैट्रिक्स M है। यह तारों और अक्षरों से भरा है। हमें ढूंढना है कि किस अक्षर के चारों ओर अधिकतम संख्या में तारे हैं। तो यदि मैट्रिक्स नीचे जैसा है -

C++ में मैट्रिक्स में वह वर्ण ढूंढें जिसके चारों ओर अधिकतम तारे हों

यहां A और C के चारों ओर 7 तारे हैं। यह अधिकतम है। चूंकि A लेक्सिकोग्राफिक रूप से छोटा है, इसलिए यह आउटपुट होगा।

दृष्टिकोण सरल है, हम वर्णों को गिनेंगे, फिर जब एक वर्ण मिले, तो उसके चारों ओर तारों को गिनें। साथ ही मान को मैप के अंदर संग्रहीत करें। मैप से जहां आकार अधिकतम है उसे प्रिंट किया जाएगा।

उदाहरण

#include <iostream> #include<unordered_map> #define MAX 4 using namespace std; int checkStarCount(int mat[][MAX], int i, int j, int n) {     int count = 0;     int move_row[] = { -1, -1, -1, 0, 0, 1, 1, 1 };     int move_col[] = { -1, 0, 1, -1, 1, -1, 0, 1 };     for (int k = 0; k < 8; k++) {         int x = i + move_row[k];         int y = j + move_col[k];         if (x >= 0 && x < n && y >= 0 && y < n && mat[x][y] == '*')             count++;     }     return count; } char charWithMaxStar(int mat[][4], int n) {     unordered_map<char, int> star_count_map;     for (int i = 0; i < n; i++) {         for (int j = 0; j < n; j++) {             if ((mat[i][j] - 'A') >= 0 && (mat[i][j] - 'A') < 26) {                 int stars = checkStarCount(mat, i, j, n);                 star_count_map[mat[i][j]] = stars;             }         }     }     int max = -1;     char result = 'Z' + 1;     for (auto x : star_count_map) {         if (x.second > max || (x.second == max && x.first < result)) {             max = x.second;             result = x.first;         }     }     return result; } int main() {     int mat[][4] = {         { 'B', '*', '*', '*' },         { '*', '*', 'C', '*' },         { '*', 'A', '*', '*' },         { '*', '*', '*', 'D' }     };     int n = 4;     cout << charWithMaxStar(mat, n) << " has maximum amount of stars around it"; } 

आउटपुट

A has maximum amount of stars around it

  1. - C++ प्रोग्राम: मैट्रिक्स के प्रत्येक कॉलम का अधिकतम तत्व ज्ञात करना

    मान लें हमारे पास एक मैट्रिक्स है, हमारा कार्य उस मैट्रिक्स के प्रत्येक कॉलम का अधिकतम तत्व ज्ञात करना और उन्हें प्रिंट करना है। यह कार्य सरल है। प्रत्येक कॉलम के लिए, मैक्स को रीसेट करें, और अधिकतम तत्व ज्ञात करें, और इसे प्रिंट करें। आइए बेहतर समझ के लिए कोड देखते हैं। उदाहरण #include <iostrea

  1. - C++ का उपयोग करके मैट्रिक्स में अधिकतम योग वाला कॉलम खोजें

    मान लीजिए हमारे पास M x N आकार का एक मैट्रिक्स है। हमें वह कॉलम ढूंढना है जिसका योग अधिकतम है। इस प्रोग्राम में हम किसी ट्रिकी दृष्टिकोण का पालन नहीं करेंगे, बल्कि सरणी को कॉलम-वार पार करेंगे, प्रत्येक कॉलम का योग प्राप्त करेंगे, और यदि योग अधिकतम है, तो उस योग और कॉलम इंडेक्स को प्रिंट करेंगे। उदा

  1. - C++ प्रोग्राम: अधिकतम एज-डिस्जॉइंट पथ की संख्या ज्ञात करना

    यह दो वर्टेक्स के बीच सबसे छोटे सबसेट पथ या अधिकतम प्रवाह का अर्थ रखने वाले अधिकतम एज-डिस्जॉइंट पथ की संख्या ज्ञात करने के लिए एक C++ प्रोग्राम है। एल्गोरिदम: Begin    function bfs() returns true if there is path from source s to sink t in    the residual graph which indicates