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

सी ++ में मैट्रिक्स में सुरक्षित सेल खोजें

मान लीजिए कि हमारे पास एक मैट्रिक्स मैट है [] []। इसमें Z और P अक्षर हैं। Z ज़ोंबी है और P पौधा है। और एक अन्य पात्र * एक नंगी भूमि है। एक ज़ोंबी पौधे पर हमला कर सकता है, जब पौधा ज़ोंबी के निकट होता है। हमें ऐसे पौधों की संख्या का पता लगाना है, जो जॉम्बी से सुरक्षित हैं। मान लीजिए मैट्रिक्स नीचे जैसा है -

सी ++ में मैट्रिक्स में सुरक्षित सेल खोजें

तो केवल दो पौधे ही सुरक्षित हैं।

हम मैट्रिक्स एलिमेंट को एलिमेंट से ट्रेस करेंगे, फिर जब करंट एलिमेंट एक प्लांट है, तो चेक करें कि प्लांट ज़ॉम्बी से घिरा है या नहीं, अगर नहीं तो काउंट बढ़ाएँ।

उदाहरण

#include<iostream>
using namespace std;
bool isZombie(int i, int j, int r, int c, string mat[]) {
   if (i < 0 || j < 0 || i >= r || j >= c || mat[i][j] != 'Z')
      return false;
      return true;
}
int countSafeCells(string matrix[], int row, int col) {
   int i, j, count = 0;
   for (i = 0; i < row; i++) {
      for (j = 0; j < col; j++) {
         if (matrix[i][j] == 'P') {
            if (!isZombie(i - 1, j - 1, row, col, matrix) && !isZombie(i - 1, j, row, col, matrix)
               && !isZombie(i - 1, j + 1, row, col, matrix) && !isZombie(i, j - 1, row, col, matrix)
               && !isZombie(i, j, row, col, matrix) && !isZombie(i, j + 1, row, col, matrix)
               && !isZombie(i + 1, j - 1, row, col, matrix) && !isZombie(i + 1, j, row, col, matrix)
               && !isZombie(i + 1, j + 1, row, col, matrix)) {
               count++;
            }
         }
      }
   }
   return count;
}
int main() {
   string mat[] = { "**P*", "Z***", "*P**", "***P" };
   int row = sizeof(mat) / sizeof(mat[0]);
   int col = mat[0].length();
   cout << "Number of safe cells: " << countSafeCells(mat, row, col);
}

आउटपुट

Number of safe cells: 2

  1. C++ में प्रत्येक ट्री पंक्ति में सबसे बड़ा मान ज्ञात करें

    मान लीजिए कि हमारे पास एक बाइनरी ट्री है, तो हमें उस पेड़ के प्रत्येक स्तर के सबसे बड़े तत्वों को खोजना होगा। तो अगर पेड़ जैसा है - तब आउटपुट [3,5,8] . होगा इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - एक सरणी परिभाषित करें जिसे उत्तर कहा जाता है एक पुनरावर्ती फ़ंक्शन को परिभाषित कर

  1. C++ प्रोग्राम एक ग्राफ मैट्रिक्स के स्थानान्तरण का पता लगाने के लिए

    इस कार्यक्रम में हम एक मैट्रिक्स लेते हैं और मैट्रिक्स के स्थानान्तरण को प्रिंट करते हैं। ट्रांसपोज़ मैट्रिक्स में, पंक्तियाँ कॉलम बन जाती हैं और इसके विपरीत। एल्गोरिदम Begin Take number of rows and columns of the matrix. Take The elements of the matrix and stored in the matrix ‘A’

  1. C++ प्रोग्राम एक मैट्रिक्स के स्थानान्तरण को खोजने के लिए

    मैट्रिक्स संख्याओं का एक आयताकार सरणी है जिसे पंक्तियों और स्तंभों के रूप में व्यवस्थित किया जाता है। मैट्रिक्स का ट्रांसपोज़ एक नया मैट्रिक्स है जिसमें मूल की पंक्तियाँ अब कॉलम हैं और इसके विपरीत। उदाहरण के लिए। नीचे एक मैट्रिक्स दिया गया है - 1 2 3 4 5 6 7 8 9 उपरोक्त मैट्रिक्स का स्थानान्तरण इस