Cプログラミング
 Computer >> コンピューター >  >> プログラミング >> Cプログラミング

配列内で2番目に大きい数と小さい数を見つけるCプログラム


配列要素を入力し、スワッピング手法を使用して番号を降順に並べます。後で、インデックスの場所を使用して、配列内で2番目に大きい要素と2番目に小さい要素を出力してみてください。

配列は、共通の要素のグループを1つの名前で保持するために使用されます。

Cプログラミング言語での配列操作は次のとおりです-

  • 挿入
  • 削除
  • 検索

アルゴリズム

以下に示すのは、配列内で2番目に大きい数と2番目に小さい数を見つけるアルゴリズムです-

ステップ1 −要素の数を宣言して読み取ります。

ステップ2 −実行時に配列サイズを宣言して読み取ります。

ステップ3 −配列要素を入力します。

ステップ4 −番号を降順に並べます。

ステップ5 −次に、インデックスを使用して2番目に大きい数と2番目に小さい数を見つけます。

ステップ6 −2番目に大きい数値と2番目に小さい数値を出力します。

プログラム

以下に示すのは、配列内で2番目に大きい数と2番目に小さい数を見つけるための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

  1. 配列内の最大の要素を見つけるPythonプログラム

    この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −配列が与えられたので、配列の最大要素を計算する必要があります。 ここでは、ループ全体をトラバースして最大の要素を計算し、要素を取得するブルートフォースアプローチを使用します。 以下の実装を観察できます。 例 # largest function def largest(arr,n):    #maximum element    max = arr[0]    # traverse the whole loop    for

  2. リスト内で最大、最小、2番目に大きい、2番目に小さいものを見つけるPythonプログラム?

    配列が与えられたら、最大、最小、2番目に大きい、2番目に小さい数を見つける必要があります。 アルゴリズム Step 1: input list element Step 2: we take a number and compare it with all other number present in the list. Step 3: get maximum, minimum, secondlargest, second smallest number. サンプルコード # To find largest, smallest, second largest and second small