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

C प्रोग्राम: मैट्रिक्स के सीमा तत्वों (Boundary Elements) का योग

समस्या

एक मैट्रिक्स दिया गया है, हमें मैट्रिक्स के सीमा तत्वों को प्रिंट करना है और उनका योग प्रदर्शित करना है।

उदाहरण

दिए गए मैट्रिक्स को देखें:

दिया गया मैट्रिक्स (3x3)


1 2 3
4 5 6
7 8 9

सीमा मैट्रिक्स


1 2 3
4   6
7 8 9

सीमा तत्वों का योग: 1 + 2 + 3 + 4 + 6 + 7 + 8 + 9 = 40

तर्क: सीमा मैट्रिक्स का योग खोजने के लिए


for (i = 0; i < m; i++) {
    for (j = 0; j < n; j++) {
        if (i == 0 || j == 0 || i == m - 1 || j == n - 1) {
            printf("%d ", mat[i][j]);
            sum = sum + mat[i][j];
        } else {
            printf("  ");  // आंतरिक तत्वों के लिए स्पेस
        }
    }
    printf("\n");
}

प्रोग्राम


#include <stdio.h>

int main() {
    int m, n, sum = 0;
    
    printf("मैट्रिक्स का क्रम दर्ज करें (पंक्तियाँ स्तंभ): ");
    scanf("%d %d", &m, &n);
    
    int mat[m][n];
    
    printf("मैट्रिक्स तत्व दर्ज करें:\n");
    for (int i = 0; i < m; i++) {
        for (int j = 0; j < n; j++) {
            scanf("%d", &mat[i][j]);
        }
    }
    
    printf("\nसीमा मैट्रिक्स:\n");
    for (int i = 0; i < m; i++) {
        for (int j = 0; j < n; j++) {
            if (i == 0 || j == 0 || i == m - 1 || j == n - 1) {
                printf("%3d ", mat[i][j]);
                sum += mat[i][j];
            } else {
                printf("    ");  // संरेखण के लिए स्पेस
            }
        }
        printf("\n");
    }
    
    printf("\nसीमा तत्वों का योग: %d\n", sum);
    
    return 0;
}

आउटपुट


मैट्रिक्स का क्रम दर्ज करें (पंक्तियाँ स्तंभ): 3 3
मैट्रिक्स तत्व दर्ज करें:
1 2 3
4 5 6
7 8 9

सीमा मैट्रिक्स:
  1   2   3
  4       6
  7   8   9

सीमा तत्वों का योग: 40

विविधताएं

1. केवल कोने के तत्व (Four Corners)


int cornerSum = mat[0][0] + mat[0][n-1] + mat[m-1][0] + mat[m-1][n-1];

2. विकर्ण तत्व (यदि वर्ग मैट्रिक्स)


if (m == n) {
    int mainDiag = 0, secDiag = 0;
    for (int i = 0; i < n; i++) {
        mainDiag += mat[i][i];
        secDiag += mat[i][n-1-i];
    }
}

3. गैर-सीमा (आंतरिक) तत्वों का योग


int innerSum = 0;
for (int i = 1; i < m-1; i++) {
    for (int j = 1; j < n-1; j++) {
        innerSum += mat[i][j];
    }
}

समय जटिलता

  • समय: O(m × n) - प्रत्येक तत्व को एक बार देखा जाता है
  • स्पेस: O(1) अतिरिक्त (मैट्रिक्स संग्रहण को छोड़कर)

किनारे के मामले

  1. C प्रोग्राम में दिए गए मैट्रिक्स में शून्य की संख्या के आधार पर सॉर्ट किए गए कॉलम के इंडेक्स प्रिंट करें C प्रोग्राम में दिए गए मैट्रिक्स में शून्य की संख्या के आधार पर सॉर्ट किए गए कॉलम के इंडेक्स प्रिंट करें

    समस्या विवरण आकार N x M का एक ऐरे दिया गया है जहां N पंक्तियों की संख्या है और M कॉलम की संख्या है, और कार्य मैट्रिक्स के प्रत्येक कॉलम में शून्य की संख्या के आधार पर सॉर्ट ऑपरेशन करने के बाद हर कॉलम में शून्य की संख्या प्रिंट करना है। उदाहरण इनपुट: 0 0 0 1 1 1 1 0 1 आउटपुट: 1 3 2 व्याख्या नोट -

  1. C प्रोग्राम में 2-D मैट्रिक्स के कोने के तत्व और उनका योग प्रिंट करें C प्रोग्राम में 2-D मैट्रिक्स के कोने के तत्व और उनका योग प्रिंट करें

    समस्या विवरण आकार 2x2 का एक ऐरे दिया गया है और चुनौती ऐरे में संग्रहीत सभी कोने के तत्वों का योग प्रिंट करना है। उदाहरण इनपुट: मैट्रिक्स तत्व दर्ज करें: 10 2 10 2 3 4 10 4 10 आउटपुट: मैट्रिक्स का योग है: 40 एल्गोरिदम शुरुआत चरण 1: पंक्तियों और कॉलम के लिए मैक्रो बनाएं #define row 3 और #define col

  1. C प्रोग्राम में ऐरे में तत्वों की अंतिम घटना को सापेक्ष क्रम में प्रिंट करें C प्रोग्राम में ऐरे में तत्वों की अंतिम घटना को सापेक्ष क्रम में प्रिंट करें

    समस्या विवरण तत्वों के साथ एक ऐरे a[] दिया गया है और कार्य सूची में दिए गए तत्वों की अंतिम घटनाओं को प्रिंट करना है। यहां हमें न केवल डुप्लिकेट तत्वों को हटाना है बल्कि हमें ऐरे में तत्वों की घटनाओं के क्रम को भी बनाए रखना है जैसा कि वे अंतिम बार हुए हैं। उदाहरण इनपुट: a[] = {4,2,2,4,1,5,1} आउटपुट

© कॉपीराइट https://in.wsxdn.com सर्वाधिकार सुरक्षित
मामलासीमा तत्वयोग
1x1 मैट्रिक्सएकमात्र तत्ववह तत्व
1xN मैट्रिक्ससभी तत्वसभी का योग
Mx1 मैट्रिक्ससभी तत्वसभी का योग
2x2 मैट्रिक्ससभी 4 तत्वसभी का योग