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

C में मैट्रिक्स की दो पंक्तियों में तत्वों के योग का अधिकतम अंतर


हमें एक मैट्रिक्स दी गई है और कार्य मैट्रिक्स की दो पंक्तियों में तत्वों के योग का सबसे बड़ा अंतर ढूंढना है। मान लीजिए हमारे पास i पंक्तियों और j स्तंभों वाली मैट्रिक्स M[i,j] है। पंक्तियों को R0 से Ri-1 तक माना जाता है। अंतर की गणना (Ry के तत्वों का योग) - (Rx के तत्वों का योग) घटाकर की जाएगी, जहां x < y।

आइए अब एक उदाहरण का उपयोग करके समझते हैं कि हमें क्या करना है:

इनपुट

M[4][4] = {     { 1, 2, 0, 5 },     { 0, 1, 1, 0 },     { 7, 2, 3, 2 },     { 1, 2, 4, 1 } };

आउटपुट

यहां अधिकतम अंतर है: 12

व्याख्या

यहां पंक्ति 2 के तत्वों का योग अधिकतम है जो 14 है और पंक्ति 1 के तत्वों का योग न्यूनतम है, जो 2 है। इसलिए अधिकतम अंतर 14 - 2 = 12 है।

इनपुट

M[4][4] = {     { 0, 2, 0, 5 },     { 0, 1, 4, 0 },     { 1, 2, 3, 2 },     { 2, 2, 6, 0 } };

आउटपुट

यहां अधिकतम अंतर है: 5

व्याख्या

यहां पंक्ति 4 के तत्वों का योग अधिकतम है जो 10 है और पंक्ति 2 के तत्वों का योग न्यूनतम है, जो 5 है। इसलिए अधिकतम अंतर 10 - 5 = 5 है।

उपयोग किया गया दृष्टिकोण

  • मैट्रिक्स में पंक्तियों और स्तंभों की संख्या के लिए इनपुट लें जैसे कि इसमें कम से कम दो पंक्तियां हों।

  • rowmaxd() फ़ंक्शन में हम इनपुट मैट्रिक्स और इसकी पंक्ति गणना और स्तंभ गणना पास कर रहे हैं और पंक्तियों के योग का अधिकतम अंतर लौटा रहे हैं।

  • यहां हम पहले मैट्रिक्स M[row][col] की प्रत्येक पंक्ति के तत्वों का योग RSum[i] नामक सरणी में संग्रहीत करेंगे। ध्यान दें कि RSum[row] की लंबाई M[row][col] में पंक्तियों की संख्या के अनुसार होती है।

  • फिर हम MD को RSum[1] - RSum[0] के रूप में अधिकतम अंतर मान लेंगे। यहां RSum[0] पंक्ति 0 के सभी तत्वों का योग है और RSum[1] पंक्ति 1 के सभी तत्वों का योग है।

  • यह भी मान लेते हैं कि RSum[0] RSum[row] में सबसे छोटा है और इसे MIN चर में संग्रहीत करते हैं।

  • 0 से i तक फॉर लूप में हम प्रत्येक RSum[row] को पार करेंगे और RSum[i] - MIN > MD के बीच अंतर की तुलना करेंगे। यदि ऐसा है, तो MD अद्यतन करें। अन्यथा जांचें कि क्या RSum[row] < MIN और MIN को अलग से अद्यतन करें।

उदाहरण

#include <stdio.h> #define MAX 100 // दो पंक्तियों के तत्वों के योग के बीच अधिकतम अंतर की गणना के लिए फ़ंक्शन बनाएं जैसे कि दूसरी पंक्ति पहली से पहले प्रकट होती है int rowmaxd(int M[][MAX], int row, int col){     // प्रत्येक पंक्ति के तत्वों का योग संग्रहीत करने के लिए     int RSum[row];     for(int i = 0; i < row; i++){         int sum = 0;         for(int j = 0; j < col; j++)             sum += M[i][j];         RSum[i] = sum;     }     // अब RSum के दो तत्वों के बीच अधिकतम अंतर की गणना करें जैसे कि RSum[j] - RSum[i] में, i < j     int MD = RSum[1] - RSum[0];     int MIN = RSum[0];     for (int i = 1; i < row; i++){         // यदि यह अंतर MD से अधिक है, तो MD अद्यतन करें         if(RSum[i] - MIN > MD)             MD = RSum[i] - MIN;         // यदि यह मान MIN से भी कम है, तो MIN अद्यतन करें         if(RSum[i] < MIN)             MIN = RSum[i];     }     return MD; } // ड्राइवर प्रोग्राम int main(){     int r = 5, c = 4;     int mat[][MAX] = {         {-1, 2, 3, 4},         {6, 3, 0, 1},         {-1, 7, 8, -3},         {3, 5, 1, 4},         {2, 1, 1, 0} };     cout << "मैट्रिक्स में दो पंक्तियों के तत्वों के योग का अधिकतम अंतर: " << rowmaxd(mat, r, c);     return 0; }

आउटपुट

उपरोक्त कोड चलाने पर हमें निम्नलिखित आउटपुट मिलेगा:

मैट्रिक्स में दो पंक्तियों के तत्वों के योग का अधिकतम अंतर: 5
  1. - Python: मैट्रिक्स पंक्तियों को लगातार अंतर के योग के अनुसार सॉर्ट करना

    Python में मैट्रिक्स (नेस्टेड सूची) की पंक्तियों को, प्रत्येक पंक्ति में लगातार तत्वों के निरपेक्ष अंतर के योग (sum of absolute consecutive differences) के अनुसार सॉर्ट करना। सूत्र पंक्ति [a, b, c, d] के लिए: |b-a| + |c-b| + |d-c| उदाहरण def diff_summation_elem(row): लगातार तत्वों के निरपेक्ष

  1. Python में TensorFlow का उपयोग करके मैट्रिक्स के विशिष्ट तत्वों/पंक्तियों का योग कैसे करें? Python में TensorFlow का उपयोग करके मैट्रिक्स के विशिष्ट तत्वों/पंक्तियों का योग कैसे करें?

    TensorFlow, Google द्वारा प्रदान किया गया एक मशीन लर्निंग फ्रेमवर्क है। यह एक ओपन-सोर्स फ्रेमवर्क है जिसे Python के साथ मिलकर एल्गोरिदम, डीप लर्निंग एप्लिकेशन और बहुत कुछ लागू करने के लिए उपयोग किया जाता है। इसका उपयोग अनुसंधान और उत्पादन उद्देश्यों के लिए किया जाता है। इसमें ऑप्टिमाइज़ेशन तकनीकें ह

  1. - पायथन में प्रत्येक पंक्ति के तत्वों को फ्लिप करके अधिकतम योग खोजने का प्रोग्राम

    मान लीजिए हमारे पास एक 2D बाइनरी मैट्रिक्स है। दी गई मैट्रिक्स में किसी भी पंक्ति या स्तंभ के लिए हम सभी बिट्स को फ्लिप कर सकते हैं। यदि हम इन ऑपरेशनों को कितनी भी बार कर सकते हैं, और प्रत्येक पंक्ति को एक बाइनरी संख्या मानते हैं, तो हमें इन संख्याओं से बनने वाले सबसे बड़े योग को ढूंढना है। उदाहरण