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

पॉइंटर्स का उपयोग करके C प्रोग्राम में ऐरे एलिमेंट इन्सर्ट करना

समस्या

एक C प्रोग्राम लिखें जो रनटाइम पर उपयोगकर्ता द्वारा ऐरे में एलिमेंट्स इन्सर्ट करे और इन्सर्शन के बाद परिणाम को स्क्रीन पर प्रदर्शित करे। यदि इन्सर्ट किया जाने वाला एलिमेंट ऐरे के आकार से बड़ा है, तो "Invalid Input" प्रदर्शित करें।

समाधान

एक ऐरे का उपयोग सामान्य एलिमेंट्स के समूह को एक नाम के तहत रखने के लिए किया जाता है।

ऐरे ऑपरेशन्स निम्नलिखित हैं:

  • इन्सर्ट (Insert)
  • डिलीट (Delete)
  • सर्च (Search)

एल्गोरिथ्म

पॉइंटर्स की सहायता से ऐरे में एलिमेंट्स इन्सर्ट करने का एल्गोरिथ्म:

  1. एलिमेंट्स की संख्या घोषित करें और पढ़ें।
  2. रनटाइम पर ऐरे का आकार घोषित करें और पढ़ें।
  3. ऐरे एलिमेंट्स इनपुट करें।
  4. एक पॉइंटर वेरिएबल घोषित करें।
  5. रनटाइम पर डायनामिक रूप से मेमोरी आवंटित करें।
  6. वह पोजीशन इनपुट करें जहां एलिमेंट इन्सर्ट किया जाना है।
  7. नए एलिमेंट को उस पोजीशन पर इन्सर्ट करें और दाईं ओर के एलिमेंट्स को एक पोजीशन शिफ्ट करें।

उदाहरण

ऐरे का आकार: 5

ऐरे एलिमेंट्स निम्नलिखित हैं:

1 2 3 4 5

नया एलिमेंट इन्सर्ट करें: 9

पोजीशन: 4

आउटपुट निम्नलिखित है:

इन्सर्शन के बाद ऐरे एलिमेंट्स हैं: 1 2 3 9 4 5

C प्रोग्राम

पॉइंटर्स की सहायता से ऐरे में एलिमेंट्स इन्सर्ट करने का C प्रोग्राम:

#include <stdio.h>
#include <stdlib.h>

void insert(int n1, int *a, int len, int ele);

int main() {
    int *a, n1, i, len, ele;
    printf("ऐरे एलिमेंट्स का आकार दर्ज करें: ");
    scanf("%d", &n1);
    a = (int*)malloc(n1 * sizeof(int));
    printf("एलिमेंट्स दर्ज करें:\n");
    for(i = 0; i < n1; i++) {
        scanf("%d", a + i);
    }
    printf("वह पोजीशन दर्ज करें जहां एलिमेंट इन्सर्ट करना है:\n");
    scanf("%d", &len);
    if(len <= n1) {
        printf("इन्सर्ट किए जाने वाले नए एलिमेंट को दर्ज करें: ");
        scanf("%d", &ele);
        insert(n1, a, len, ele);
    } else {
        printf("Invalid Input");
    }
    return 0;
}

void insert(int n1, int *a, int len, int ele) {
    int i;
    printf("इन्सर्शन के बाद ऐरे एलिमेंट्स:\n");
    for(i = 0; i < len - 1; i++) {
        printf("%d\n", *(a + i));
    }
    printf("%d\n", ele);
    for(i = len - 1; i < n1; i++) {
        printf("%d\n", *(a + i));
    }
}

आउटपुट

जब उपरोक्त प्रोग्राम निष्पादित होता है, तो यह निम्नलिखित आउटपुट उत्पन्न करता है:

ऐरे एलिमेंट्स का आकार दर्ज करें: 5
एलिमेंट्स दर्ज करें: 1 3 5 7 2
वह पोजीशन दर्ज करें जहां एलिमेंट इन्सर्ट करना है: 5
इन्सर्ट किए जाने वाले नए एलिमेंट को दर्ज करें: 9
इन्सर्शन के बाद ऐरे एलिमेंट्स हैं: 1 3 5 7 9 2
  1. C भाषा में पॉइंटर्स का उपयोग करके ऐरे एलिमेंट्स का योग कैसे निकालें? C भाषा में पॉइंटर्स का उपयोग करके ऐरे एलिमेंट्स का योग कैसे निकालें?

    पॉइंटर क्या है? पॉइंटर एक वेरिएबल है जो दूसरे वेरिएबल का पता स्टोर करता है। निम्नलिखित स्टेटमेंट पर विचार करें: int qty = 179; पॉइंटर घोषित करना पॉइंटर घोषित करने का सिंटैक्स निम्नलिखित है: int *p; यहां, p एक पॉइंटर वेरिएबल है जो दूसरे वेरिएबल का पता रखता है। पॉइंटर का इनिशियलाइज़ेशन एड्रेस ऑपरेटर

  1. - C# प्रोग्राम: सरणी में प्रारंभिक तत्वों को छोड़ना

    यदि आप सरणी में कई तत्वों को छोड़ना चाहते हैं, तो C# में Skip() मेथड का उपयोग करें।मान लीजिए निम्नलिखित हमारी सरणी है:int[] arr = { 24, 40, 55, 62, 70, 82, 89, 93, 98 };अब पहले चार तत्वों को छोड़ने के लिए:var ele = arr.Skip(4);आइए पूरा उदाहरण देखें:उदाहरणusing System.IO; using System; using System.L

  1. - C# प्रोग्राम 2D सरणी में K-वां सबसे छोटा तत्व ढूंढने के लिए

    एक 2D सरणी घोषित करें: int[] a = new int[] { 65, 45, 32, 97, 23, 75, 59 }; मान लें कि आप Kवां सबसे छोटा यानी 5वां सबसे छोटा पूर्णांक चाहते हैं। पहले सरणी को सॉर्ट करें: Array.Sort(a); 5वां सबसे छोटा तत्व प्राप्त करने के लिए: a[k - 1]; आइए पूरा कोड देखें: उदाहरण using Sys