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

सी प्रोग्राम मैट्रिक्स के सभी कॉलम और पंक्तियों को सॉर्ट करने के लिए

समस्या

मैट्रिक्स की सभी पंक्तियों को आरोही क्रम में और सभी स्तंभों को अवरोही क्रम में क्रमबद्ध करने के लिए एक कोड लिखें। मैट्रिक्स का आकार और मैट्रिक्स के तत्व उपयोगकर्ता द्वारा रनटाइम पर दिए जाते हैं।

समाधान

C प्रोग्रामिंग भाषा में मैट्रिक्स की सभी पंक्तियों को आरोही क्रम में और सभी स्तंभों को अवरोही क्रम में क्रमबद्ध करने का समाधान नीचे समझाया गया है -

पंक्तियों को आरोही क्रम में क्रमबद्ध करने के लिए उपयोग किया जाने वाला तर्क इस प्रकार है -

for (i=0;i<m;++i){
   for (j=0;j<n;++j){
      for (k=(j+1);k<n;++k){
         if (ma[i][j] > ma[i][k]){
            a = ma[i][j];
            ma[i][j] = ma[i][k];
            ma[i][k] = a;
         }
      }
   }
}

स्तंभों को अवरोही क्रम में क्रमबद्ध करने के लिए . तर्क का उपयोग किया जाता है इस प्रकार है -

for (j=0;j<n;++j){
   for (i=0;i<m;++i){
      for (k=i+1;k<m;++k){
         if (mb[i][j] < mb[k][j]){
            a = mb[i][j];
            mb[i][j] = mb[k][j];
            mb[k][j] = a;
         }
      }
   }
}

कार्यक्रम

निम्नलिखित C प्रोग्राम है मैट्रिक्स की सभी पंक्तियों को आरोही क्रम में और सभी स्तंभों को अवरोही क्रम में सॉर्ट करने के लिए -

#include <stdio.h>
void main(){
   int i,j,k,a,m,n;
   static int ma[10][10],mb[10][10];
   printf ("Enter the order of the matrix \n");
   scanf ("%d %d", &m,&n);
   printf ("Enter co-efficients of the matrix \n");
   for (i=0;i<m;++i){
      for (j=0;j<n;++j){
         scanf ("%d",&ma[i][j]);
         mb[i][j] = ma[i][j];
      }
   }
   printf ("The given matrix is \n");
   for (i=0;i<m;++i){
      for (j=0;j<n;++j){
         printf (" %d",ma[i][j]);
      }
      printf ("\n");
   }
   printf ("After arranging rows in ascending order\n");
   for (i=0;i<m;++i){
      for (j=0;j<n;++j){
         for (k=(j+1);k<n;++k){
            if (ma[i][j] > ma[i][k]){
               a = ma[i][j];
               ma[i][j] = ma[i][k];
               ma[i][k] = a;
            }
         }
      }
   }
   for (i=0;i<m;++i){
      for (j=0;j<n;++j){
         printf (" %d",ma[i][j]);
      }
      printf ("\n");
   }
   printf ("After arranging the columns in descending order \n");
   for (j=0;j<n;++j){
      for (i=0;i<m;++i){
         for (k=i+1;k<m;++k){
            if (mb[i][j] < mb[k][j]){
               a = mb[i][j];
               mb[i][j] = mb[k][j];
               mb[k][j] = a;
            }
         }
      }
   }
   for (i=0;i<m;++i){
      for (j=0;j<n;++j){
         printf (" %d",mb[i][j]);
      }
      printf ("\n");
   }
}

आउटपुट

जब उपरोक्त प्रोग्राम को निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है -

Enter the order of the matrix
3 4
Enter co-efficient of the matrix
1
2
3
4
1
2
3
4
5
1
2
3
The given matrix is
1 2 3 4
1 2 3 4
5 1 2 3

After arranging rows in ascending order
1 2 3 4
1 2 3 4
1 2 3 5

After arranging the columns in descending order
5 2 3 4
1 2 3 4
1 1 2 3

  1. एक्सेल चार्ट में रो और कॉलम कैसे स्विच करें

    चार्ट बनाते समय, प्रोग्राम डेटा को व्यवस्थित करने का सही तरीका बताता है; प्रोग्राम यह निर्धारित करता है कि क्षैतिज अक्ष को किस लेबल को असाइन करना है और चार्ट के लेजेंड को कहां रखना है, लेकिन अगर कोई त्रुटि है तो क्या होगा? उदाहरण के लिए, आप चाहते हैं कि क्षैतिज अक्ष पर प्रदर्शित डेटा की पंक्तियों को

  1. एक्सेल में सेल, कॉलम और रो को कैसे मर्ज करें?

    आप Microsoft Excel में टेक्स्ट के मुख्य भाग को कैसे प्रारूपित करना चाहते हैं, इस पर निर्भर करते हुए, आपको कभी-कभी कक्षों को मर्ज करना होगा। आपका कारण जो भी हो, कुछ भिन्न तकनीकें हैं जिनका आप उपयोग कर सकते हैं। ये आपको कक्षों, पंक्तियों और स्तंभों के विलय को प्राप्त करने में मदद कर सकते हैं। कुछ विधि

  1. Excel में पंक्तियों और स्तंभों को फ़्रीज़ कैसे करें

    Microsoft Excel आपको व्यापक डेटा को व्यवस्थित और विश्लेषण करने में मदद करता है अपने स्प्रेडशीट सॉफ्टवेयर के साथ। यह छोटे पैमाने के उद्योग से लेकर बड़े पैमाने के उद्योग तक एक महत्वपूर्ण भूमिका निभाता है। उपयोगकर्ता इस शक्तिशाली डेटा संगठन उपकरण के साथ वित्तीय विश्लेषण कर सकते हैं। यह व्यवसाय विश्लेषण