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

C++ कोड: आंतरिक बॉक्स का केंद्र खोजें


मान लीजिए हमारे पास n x m आकार का एक मैट्रिक्स है। सेल या तो 'W' (सफेद) या 'B' (काला) हैं। टेबल के अंदर विषम लंबाई का कोई वर्ग काला रंगा गया था। हमें इस वर्ग का केंद्र ढूंढना है।

उदाहरण के लिए, यदि इनपुट इस तरह है:

WWBBBW
WWBBBW
WWBBBW
WWWWWW
WWWWWW

तो आउटपुट (3, 1) होगा।

चरण

इसे हल करने के लिए, हम निम्नलिखित चरणों का पालन करेंगे:

n := मैट्रिक्स की पंक्ति संख्या m := मैट्रिक्स की स्तंभ संख्या cnt := 0 X := 0 Y := 0 for initialize i := 0, when i < n, update (increase i by 1), do:     for initialize j := 0, when j < m, update (increase j by 1), do:         if matrix[i, j] is same as 'B', then:             increase cnt by 1             X := X + i             Y := Y + j X := X / cnt Y := Y / cnt return (Y, X)

उदाहरण

बेहतर समझ के लिए निम्नलिखित कार्यान्वयन देखें:

#include  using namespace std; void solve(vector> matrix){     int n = matrix.size();     int m = matrix[0].size();     int cnt = 0, X = 0, Y = 0;     for (int i = 0; i < n; i++){         for (int j = 0; j < m; j++)             if (matrix[i][j] == 'B')                 cnt++, X += i, Y += j;     }     X /= cnt;     Y /= cnt;     printf("%d, %d\n", Y, X); } int main(){     vector> matrix = { { 'W', 'W', 'B', 'B', 'B', 'W' },         { 'W', 'W', 'B', 'B', 'B', 'W' }, { 'W', 'W', 'B', 'B', 'B', 'W' },         { 'W', 'W', 'W', 'W', 'W', 'W' }, { 'W', 'W', 'W', 'W', 'W', 'W' } };     solve(matrix); }

इनपुट

{ { 'W', 'W', 'B', 'B', 'B', 'W' },   { 'W', 'W', 'B', 'B', 'B', 'W' }, { 'W', 'W', 'B', 'B', 'B', 'W' },   { 'W', 'W', 'W', 'W', 'W', 'W' }, { 'W', 'W', 'W', 'W', 'W', 'W' } }

आउटपुट

3, 1

  1. - C++ कोड: न्यूनतम अंकगणितीय माध्य विचलन ढूंढें

    मान लीजिए हमारे पास 3 तत्वों वाला एक सरणी A है। A[1], A[0] और A[2] का अंकगणितीय माध्य है यदि A[0] + A[2] = 2 * A[1]। तीन संख्याओं का अंकगणितीय माध्य विचलन d(A[0], A[1], A[2]) = |A[0] + A[2] - 2*A[1]| है। हम निम्नलिखित संक्रियाएं कितनी भी बार कर सकते हैं: सूचकांक {0, 1, 2} से दो सूचकांक i और j चुनें

  1. - C++ कोड: बैटरी संयोजनों की संख्या ढूंढें

    मान लीजिए, हमारे पास n बैटरी हैं जिनका अधिकतम 5 बार उपयोग किया जा सकता है। हमारे पास कुछ उपकरण हैं जिन्हें तीन बैटरी की आवश्यकता होती है और उपकरण का प्रत्येक उपयोग बैटरी के उपयोग काउंट को 1 से बढ़ाता है। यदि हमें उपकरणों का k बार उपयोग करना है, तो हमें यह पता लगाना है कि उपकरणों को पावर देने के लिए

  1. - C++ में परम्यूटेशन खोजें - गुप्त हस्ताक्षर से लेक्सिकोग्राफिकली सबसे छोटा

    समस्या विवरण मान लीजिए हमारे पास एक गुप्त हस्ताक्षर है जिसमें वर्ण D और I होते हैं। D दो संख्याओं के बीच घटते संबंध को दर्शाता है, I बढ़ते संबंध को दर्शाता है। यह गुप्त हस्ताक्षर एक विशेष पूर्णांक सरणी द्वारा निर्मित किया गया था, जिसमें 1 से n तक सभी अलग-अलग संख्याएं विशिष्ट रूप से होती हैं। उदाहर