समस्या
उपयोगकर्ता द्वारा रनटाइम पर तत्वों को एक सरणी में सम्मिलित करने के लिए एक सी प्रोग्राम लिखें और परिणाम सम्मिलन के बाद स्क्रीन पर प्रदर्शित किया जाए। यदि डाला गया तत्व किसी सरणी के आकार से बड़ा है, तो, हमें अमान्य इनपुट प्रदर्शित करने की आवश्यकता है।
समाधान
एक नाम के तहत सामान्य तत्वों के समूह को रखने के लिए एक सरणी का उपयोग किया जाता है।
सरणी संचालन इस प्रकार हैं -
- सम्मिलित करें
- हटाएं
- खोज
एल्गोरिदम
पॉइंटर्स की मदद से तत्वों को एक सरणी में सम्मिलित करने के लिए एक एल्गोरिदम देखें।
चरण 1:तत्वों की संख्या घोषित करें और पढ़ें।
चरण 2:रनटाइम पर सरणी आकार घोषित करें और पढ़ें।
चरण 3:सरणी तत्वों को इनपुट करें।
चरण 4:एक सूचक चर घोषित करें।
चरण 5:रनटाइम पर मेमोरी को गतिशील रूप से आवंटित करें।
चरण 6:उस स्थिति को दर्ज करें, जहां एक तत्व डाला जाना चाहिए।
चरण 7:उस स्थिति में नया तत्व डालें और दाईं ओर के तत्वों को एक स्थान से स्थानांतरित किया जाना है।
उदाहरण
सरणी का आकार है:5
ऐरे तत्व इस प्रकार हैं -
1 2 3 4 5
नया तत्व डालें:9
स्थिति पर:4
आउटपुट इस प्रकार है -
After insertion the array elements are: 1 2 3 9 4 5
उदाहरण
पॉइंटर्स की मदद से तत्वों को एक सरणी में सम्मिलित करने के लिए सी प्रोग्राम निम्नलिखित है -
#include<stdio.h> #include<stdlib.h> void insert(int n1, int *a, int len, int ele){ int i; printf("Array elements after insertion is:\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)); } } int main(){ int *a,n1,i,len,ele; printf("enter size of array elements:"); scanf("%d",&n1); a=(int*)malloc(n1*sizeof(int)); printf("enter the elements:\n"); for(i=0;i<n1;i++){ scanf("%d",a+i); } printf("enter the position where the element need to be insert:\n"); scanf("%d",&len); if(len<=n1){ printf("enter the new element that to be inserted:"); scanf("%d",&ele); insert(n1,a,len,ele); } else { printf("Invalid Input"); } return 0; }
आउटपुट
जब उपरोक्त प्रोग्राम को निष्पादित किया जाता है, तो यह निम्न आउटपुट उत्पन्न करता है -
enter size of array elements:5 enter the elements: 1 3 5 7 2 enter the position where the element need to be insert: 5 enter the new element that to be inserted:9 Array elements after insertion are: 1 3 5 7 9 2