समस्या
एक C प्रोग्राम लिखें जो रनटाइम पर उपयोगकर्ता द्वारा ऐरे में एलिमेंट्स इन्सर्ट करे और इन्सर्शन के बाद परिणाम को स्क्रीन पर प्रदर्शित करे। यदि इन्सर्ट किया जाने वाला एलिमेंट ऐरे के आकार से बड़ा है, तो "Invalid Input" प्रदर्शित करें।
समाधान
एक ऐरे का उपयोग सामान्य एलिमेंट्स के समूह को एक नाम के तहत रखने के लिए किया जाता है।
ऐरे ऑपरेशन्स निम्नलिखित हैं:
- इन्सर्ट (Insert)
- डिलीट (Delete)
- सर्च (Search)
एल्गोरिथ्म
पॉइंटर्स की सहायता से ऐरे में एलिमेंट्स इन्सर्ट करने का एल्गोरिथ्म:
- एलिमेंट्स की संख्या घोषित करें और पढ़ें।
- रनटाइम पर ऐरे का आकार घोषित करें और पढ़ें।
- ऐरे एलिमेंट्स इनपुट करें।
- एक पॉइंटर वेरिएबल घोषित करें।
- रनटाइम पर डायनामिक रूप से मेमोरी आवंटित करें।
- वह पोजीशन इनपुट करें जहां एलिमेंट इन्सर्ट किया जाना है।
- नए एलिमेंट को उस पोजीशन पर इन्सर्ट करें और दाईं ओर के एलिमेंट्स को एक पोजीशन शिफ्ट करें।
उदाहरण
ऐरे का आकार: 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