Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> सी प्रोग्रामिंग

C . में एक विषम वर्ग मैट्रिक्स में मध्य पंक्ति और स्तंभ का गुणनफल


एक वर्ग मैट्रिक्स को देखते हुए, mat[row][column] जहां पंक्ति और स्तंभ समान हैं और विषम लंबाई के हैं, इसका मतलब है कि पंक्ति और स्तंभ की संख्या मुझे विषम होनी चाहिए, अर्थात, से विभाज्य नहीं है 2, कार्य उस मैट्रिक्स की मध्य पंक्ति और मध्य स्तंभ के गुणनफल को खोजना है।

जैसे नीचे दिए गए चित्र में -

C . में एक विषम वर्ग मैट्रिक्स में मध्य पंक्ति और स्तंभ का गुणनफल

बाधाएं

  • मैट्रिक्स एक वर्ग मैट्रिक्स होना चाहिए।

  • कॉलम और पंक्तियाँ विषम लंबाई की होनी चाहिए।

इनपुट

mat[][] = {{1, 2, 3},
{4, 5, 6},
{7, 8, 9}}

आउटपुट

Product of middle row = 120
Product of middle column = 80

स्पष्टीकरण

Product of middle row = 4 * 5 * 6 = 120
Product of middle column = 2 * 5 * 8 = 80

इनपुट

mat[][] = {{3, 5, 0},
{1, 2, 7},
{9, 0, 5}}

आउटपुट

Product of middle row = 14
Product of middle column = 0

स्पष्टीकरण

Product of middle row = 1 * 2 * 7 = 120
Product of middle column = 5 * 2 * 0 = 0

समस्या को हल करने के लिए नीचे उपयोग किया गया दृष्टिकोण इस प्रकार है

  • इनपुट के रूप में एक मैट्रिक्स मैट [] [] लें।

  • मध्य पंक्ति और मध्य स्तंभ से मैट्रिक्स को ट्रैवर्स करें

  • मध्य पंक्ति और मध्य स्तंभ के गुणनफल की गणना करें और परिणाम लौटाएं।

एल्गोरिदम

Start
In function int product(int mat[][MAX], int n)
   Step 1→ Declare and initialize rproduct = 1, cproduct = 1
   Step 2→ Loop For i = 0 and i < n and i++
      Set rproduct = rproduct * mat[n / 2][i]
      Set cproduct = cproduct * mat[i][n / 2]
   Step 3→ Print "Product of middle row: rproduct “
   Step 4→ Print "Product of middle column: cproduct”
In function int main()
   Step 1→ Declare and initialize mat[][MAX] {
      { 1, 2, 3 },
      { 4, 5, 6 },
      { 7, 8, 9 } }
   Step 2→ Call product(mat, MAX)
Stop

उदाहरण

#include <stdio.h>
#define MAX 3
int product(int mat[][MAX], int n){
   int rproduct = 1, cproduct = 1;
   //We will only check the middle elements and
   //find their products
   for (int i = 0; i < n; i++) {
      rproduct *= mat[n / 2][i];
      cproduct *= mat[i][n / 2];
   }
   // Printing the result
   printf("Product of middle row: %d\n", rproduct);
   printf("Product of middle column: %d\n", cproduct);
   return 0;
}
// Driver code
int main(){
   int mat[][MAX] = {
      { 1, 2, 3 },
      { 4, 5, 6 },
      { 7, 8, 9 } };
   product(mat, MAX);
   return 0;
}

आउटपुट

यदि उपरोक्त कोड चलाया जाता है तो यह निम्न आउटपुट उत्पन्न करेगा -

Product of middle row: 120
Product of middle column: 80

  1. माइक्रोसॉफ्ट एक्सेल में रो हाइट और कॉलम की चौड़ाई कैसे बदलें?

    एक्सेल में पंक्तियों की ऊंचाई और कॉलम की चौड़ाई आमतौर पर स्वचालित होती है, लेकिन आप पंक्ति की ऊंचाई और कॉलम की चौड़ाई को मैन्युअल रूप से बदल सकते हैं। स्प्रैडशीट में पंक्ति की ऊंचाई पंक्तियों में दर्ज किए गए डेटा के आकार के अनुसार बढ़ती और घटती है; एक्सेल स्वचालित रूप से पंक्तियों को बढ़ाएगा और घटाए

  1. माइक्रोसॉफ्ट एक्सेल में रो और कॉलम को फ्रीज कैसे करें

    बड़ी एक्सेल स्प्रैडशीट्स पर काम करने वाले कई उपयोगकर्ता तुलना करने के लिए बार-बार विशिष्ट डेटा की जांच करेंगे। स्प्रेडशीट के प्रकार के आधार पर डेटा एक पंक्ति या कॉलम में हो सकता है। यह उपयोगकर्ताओं के लिए काम को थोड़ा कठिन और समय लेने वाला बना सकता है। हालाँकि, इस समस्या को हल करने में मदद करने के ल

  1. एक्सेल में ऑटोफिट कॉलम की चौड़ाई और पंक्ति की ऊंचाई

    वर्कशीट में संग्रहीत डेटा की जरूरतों से मेल खाने के लिए अनुकूलित इंटरफेस बनाने की संभावना के बिना एक्सेल की ग्रिड जैसी उपस्थिति कई बार स्थिर लग सकती है। हालांकि यह कुछ हद तक सही है, Microsoft ने एक्सेल में कॉलम की चौड़ाई और पंक्ति की ऊंचाई को तुरंत अनुकूलित करने की क्षमता को सेल में डेटा के आकार से