অ্যারে এলিমেন্ট ইনপুট নিয়ে ডিসেন্ডিং অর্ডারে সাজাতে হবে। তারপর ইনডেক্স ব্যবহার করে ২য় সর্বোচ্চ (index 1) এবং ২য় সর্বনিম্ন (index n-2) বের করতে হবে। তাদের গড় অ্যারেতে আছে কিনা চেক করুন।
অ্যালগরিদম
- অ্যারে ইনপুট নিন।
- ডিসেন্ডিং অর্ডারে সাজান (বাবল সর্ট)।
2nd largest = arr[1],2nd smallest = arr[n-2]।- গড় =
(arr[1] + arr[n-2]) / 2। - গড়টি অ্যারেতে আছে কিনা চেক করুন।
C কোড
#include <stdio.h>
int main() {
int i, j, a, n, number[30];
printf("Enter N: "); scanf("%d", &n);
printf("Enter numbers: ");
for (i = 0; i < n; ++i) scanf("%d", &number[i]);
// Descending sort
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("Descending: "); for (i = 0; i < n; ++i) printf("%d ", number[i]);
printf("\n2nd largest = %d", number[1]);
printf("\n2nd smallest = %d", number[n-2]);
int ave = (number[1] + number[n-2]) / 2;
int counter = 0;
for (i = 0; i < n; ++i) if (ave == number[i]) ++counter;
if (counter == 0) printf("\nAverage not in array");
else printf("\nAverage found %d times", counter);
return 0;
}
নমুনা আউটপুট
Enter N: 5 Numbers: 10 12 17 45 80 Descending: 80 45 17 12 10 2nd largest = 45 2nd smallest = 12 Average not in array