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

C प्रोग्राम में मल्टीपल ऐरे रेंज इन्क्रीमेंट ऑपरेशन के बाद संशोधित ऐरे प्रिंट करना


m संख्या के इंटीजर्स के साथ एक ऐरे arr[m] दिया गया है और n, वह मान है जिसे ऐरे में जोड़ा जाना है और r क्वेरीज दी गई हैं जिनमें कुछ स्टार्ट और एंड हैं। प्रत्येक क्वेरी के लिए हमें ऐरे में स्टार्ट से एंड की लिमिट तक मान n जोड़ना है।

उदाहरण

इनपुट: arr[] = {1, 2, 3, 4, 5}
query[] = { { 0, 3 }, { 1, 2 } }
n = 2
आउटपुट:
Query1: { 3, 4, 5, 6, 5 }
Query2: { 3, 6, 7, 6, 5 }

इस प्रोग्राम को एक आसान दृष्टिकोण से हल किया जा सकता है जिसमें:

  • हम सभी क्वेरीज को इटरेट करेंगे और ऐरे को क्वेरी में स्टार्ट पॉइंट से ट्रैवर्स करेंगे और क्वेरी में स्टोर्ड एंडिंग पॉइंट तक।
  • n का मान जोड़ें और ऐरे प्रिंट करें।

एल्गोरिदम

शुरुआत
चरण 1: स्टार्ट और एंड लिमिट्स के लिए रेंज स्ट्रक्चर घोषित करें
चरण 2: फंक्शन add_tomatrix(int arr[], struct range r[], int n, int size, int m) में
   int i, j, k घोषित करें
   i = 0 से m तक i++ लूप
      j = r[i].start से j <= r[i].end तक j++ लूप
         arr[j] = arr[j] + n
      लूप समाप्त
      k = 0 से size तक k++ लूप
         arr[k] प्रिंट करें
      लूप समाप्त
   लूप समाप्त
समाप्त

उदाहरण

#include <stdio.h>
struct range{
    int start, end; // ऐरे एलिमेंट्स के लिए रेंज देने के लिए स्ट्रक्चर
};
int add_tomatrix(int arr[], struct range r[], int n, int size, int m){
    int i, j, k;
    for ( i = 0; i < m; i++) {
        for(j = r[i].start; j <= r[i].end; j++) {
            arr[j] += n; // विशेष रेंज का मान जोड़ें
        }
        printf("Query %d:", i+1);
        for ( k = 0; k < size; k++){
            printf(" %d", arr[k]); // हर क्वेरी के बाद पूरा ऐरे प्रिंट करें
        }
        printf("\n");
    }
}
int main(int argc, char const *argv[]){
    int arr[] ={3, 4, 8, 1, 10};
    struct range r[] = {{0,2}, {1, 3}, {3, 4}};
    int n = 2;
    int size = sizeof(arr)/sizeof(arr[0]);
    int m = sizeof(r)/sizeof(r[0]);
    add_tomatrix(arr, r, n, size, m);
    return 0;
}

आउटपुट

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

Query 1: 5 6 10 1 10
Query 2: 5 8 12 3 10
Query 3: 5 8 12 5 12

  1. C प्रोग्राम में विषम लंबाई की स्ट्रिंग को  X  फॉर्मेट में प्रिंट करें C प्रोग्राम में विषम लंबाई की स्ट्रिंग को 'X' फॉर्मेट में प्रिंट करें

    समस्या विवरण एक स्ट्रिंग दी गई है, प्रोग्राम को स्ट्रिंग को X फॉर्मेट में प्रिंट करना होगा। संदर्भ के लिए नीचे दी गई छवि देखें। एल्गोरिदम शुरुआत चरण 1: void print(string str, int len) फंक्शन घोषित करें i = 0 से len-1 तक लूप j = len-1-i सेट करें k = 0 से len-1 तक लूप

  1. C प्रोग्राम में O(n) समय और O(1) स्पेस में ऐरे का बायां रोटेशन प्रिंट करें C प्रोग्राम में O(n) समय और O(1) स्पेस में ऐरे का बायां रोटेशन प्रिंट करें

    समस्या विवरण हमें कुछ आकार n का एक ऐरे और कई पूर्णांक मान दिए गए हैं, हमें दिए गए इंडेक्स k से ऐरे को रोटेट करना होगा। उदाहरण इनपुट: arr[] = {1, 2, 3, 4, 5} K1 = 1, K2 = 3, K3 = 6 आउटपुट: 2 3 4 5 1 4 5 1 2 3 2 3 4 5 1 एल्गोरिदम शुरुआत चरण 1: void leftRotate(int arr[], int n, int k) फंक्शन घोषित क

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

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