सरणी तत्वों को दर्ज करें और फिर, स्वैपिंग तकनीक का उपयोग करके संख्याओं को अवरोही क्रम में व्यवस्थित करें। बाद में, अनुक्रमणिका स्थान की सहायता से, किसी सरणी में दूसरा सबसे बड़ा और दूसरा सबसे छोटा तत्व मुद्रित करने का प्रयास करें।
एक नाम के तहत सामान्य तत्वों के समूह को रखने के लिए एक सरणी का उपयोग किया जाता है।
सी प्रोग्रामिंग भाषा में सरणी संचालन इस प्रकार हैं -
- सम्मिलित करें
- हटाएं
- खोज
एल्गोरिदम
एक सरणी में दूसरी सबसे बड़ी और दूसरी सबसे छोटी संख्या खोजने के लिए नीचे दिया गया एल्गोरिदम है -
चरण 1 - तत्वों की संख्या घोषित करें और पढ़ें।
चरण 2 - रनटाइम पर ऐरे साइज को डिक्लेयर करें और पढ़ें।
चरण 3 - सरणी तत्वों को इनपुट करें।
चरण 4 - संख्याओं को अवरोही क्रम में व्यवस्थित करें।
चरण 5 - फिर, एक सूचकांक का उपयोग करके दूसरी सबसे बड़ी और दूसरी सबसे छोटी संख्या ज्ञात करें।
चरण 6 - दूसरी सबसे बड़ी और दूसरी सबसे छोटी संख्या प्रिंट करें।
कार्यक्रम
एक सरणी में दूसरी सबसे बड़ी और दूसरी सबसे छोटी संख्या खोजने के लिए . नीचे दिया गया C प्रोग्राम है -
#include<stdio.h> void main(){ int i,j,a,n,counter,ave,number[30]; printf ("Enter the value of N\n"); scanf ("%d", &n); printf ("Enter the numbers \n"); for (i=0; i<n; ++i) scanf ("%d",&number[i]); for (i=0; i<n; ++i){ for (j=i+1; j<n; ++j){ if (number[i] < number[j]){ a = number[i]; number[i] = number[j]; number[j] = a; } } } printf ("The numbers arranged in descending order are given below\n"); for (i=0; i<n; ++i) printf ("%10d\n",number[i]); printf ("The 2nd largest number is = %d\n", number[1]); printf ("The 2nd smallest number is = %d\n", number[n-2]); ave = (number[1] +number[n-2])/2; counter = 0; for (i=0; i<n; ++i){ if (ave==number[i]) ++counter; } if (counter==0) printf("The average of 2nd largest & 2nd smallest is not in the array\n"); else printf("The average of 2nd largest & 2nd smallest in array is %d in numbers\n", counter); }
आउटपुट
जब उपरोक्त प्रोग्राम को निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है -
Enter the value of N 5 Enter the numbers 10 12 17 45 80 The numbers arranged in descending order are given below 80 45 17 12 10 The 2nd largest number is = 45 The 2nd smallest number is = 12 The average of 2nd largest & 2nd smallest is not in the array