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

पॉइंटर्स का उपयोग करके एक सरणी तत्व को हटाने के लिए सी प्रोग्राम

समस्या

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

समाधान

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

सरणी संचालन इस प्रकार हैं -

  • सम्मिलित करें
  • हटाएं
  • खोज

एल्गोरिदम

पॉइंटर्स की मदद से तत्वों को एक सरणी में हटाने के लिए एक एल्गोरिदम देखें।

चरण 1 - तत्वों की संख्या घोषित करें और पढ़ें।

चरण 2 - रनटाइम पर सरणी आकार घोषित करें और पढ़ें।

चरण 3 - सरणी तत्वों को इनपुट करें।

चरण 4 - एक सूचक चर घोषित करें।

चरण 5 - रनटाइम पर मेमोरी को गतिशील रूप से आवंटित करें।

चरण 6 - एक तत्व दर्ज करें जिसे हटाया जाना है।

चरण 7 - हटाने के बाद, तत्वों को एक स्थान से बाईं ओर स्थानांतरित कर दिया जाता है।

उदाहरण

सरणी का आकार है:5

सरणी तत्व इस प्रकार हैं -

1 2 3 4 5

हटाए जाने वाले तत्व की स्थिति दर्ज करें:4

आउटपुट इस प्रकार है -

After deletion the array elements are:
1 2 3 5

उदाहरण

पॉइंटर्स की मदद से तत्वों को एक सरणी में सम्मिलित करने के लिए सी प्रोग्राम निम्नलिखित है -

#include<stdio.h>
#include<stdlib.h>
void delete(int n,int *a,int pos);
int main(){
   int *a,n,i,pos;
   printf("enter the size of array:");
   scanf("%d",&n);
   a=(int*)malloc(sizeof(int)*n);
   printf("enter the elements:\n");
   for(i=0;i<n;i++){
      scanf("%d",(a+i));
   }
   printf("enter the position of element to be deleted:");
   scanf("%d",&pos);
   delete(n,a,pos);
   return 0;
}
void delete(int n,int *a,int pos){
   int i,j;
   if(pos<=n){
      for(i=pos-1;i<n;i++){
         j=i+1;
         *(a+i)=*(a+j);
      }
      printf("after deletion the array elements is:\n");
      for(i=0;i<n-1;i++){
         printf("%d\n",(*(a+i)));
      }
   }
   else{
      printf("Invalid Input");
   }
}

आउटपुट

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

enter the size of array:5
enter the elements:
12
34
56
67
78
enter the position of element to be deleted:4
After deletion the array elements are:
12
34
56
78

  1. सी भाषा में पॉइंटर्स का उपयोग करके सरणी तत्वों के योग की गणना कैसे करें?

    पॉइंटर एक वेरिएबल है जो दूसरे वेरिएबल के एड्रेस को स्टोर करता है। निम्नलिखित कथन पर विचार करें - int qty = 179; सूचक घोषित करना पॉइंटर घोषित करने का सिंटैक्स इस प्रकार है - int *p; यहाँ, p एक पॉइंटर वेरिएबल है जो अन्य वेरिएबल का पता रखता है। सूचक का प्रारंभ एड्रेस ऑपरेटर (&) का उपयोग पॉइंटर वे

  1. सी # प्रोग्राम सरणी तत्वों को अवरोही क्रम में ऑर्डर करने के लिए

    अवरोही क्रम में एक क्रम में तत्वों को ऑर्डर करने के लिए, थेनबी () और ऑर्डरबायडेस्केंडिंग का उपयोग करें। यह हमारा स्ट्रिंग ऐरे है। string[] myStr = { "Keyboard", "Laptop", "Mouse", "Monitor" }; अब, अवरोही क्रम में तत्व को ऑर्डर करने के लिए OrderByDescending क

  1. सी # सरणी से तत्व को कैसे हटाएं/निकालें?

    C# सरणी से किसी तत्व को हटाने के लिए, हम तत्वों को उस स्थिति से स्थानांतरित कर देंगे जहां उपयोगकर्ता तत्व को हटाना चाहता है। यहां, पहले हमारे पास 5 तत्व हैं - int[] arr = new int[5] {35, 50, 55, 77, 98}; अब मान लें कि हमें दूसरे स्थान पर तत्व को हटाने की आवश्यकता है यानी चर pos =2 सेट है, इसके लिए