指定されたリストの中央値を見つけるCプログラム。
リストの要素が順番に配置されている場合、アイテムを2つの部分に分割し、両側に同じ数のアイテムがある中央値を中央値と呼びます。
奇数のアイテムの中間値は1つだけですが、;偶数のアイテムには2つの中間値があります。
したがって、偶数のアイテムの中央値は、2つの中間値の平均として指定されます。
アルゴリズム
中央値を計算するには、以下のアルゴリズムを参照してください。
ステップ1-アイテムの数を維持しながら、アイテムを配列に読み込みます。
ステップ2-アイテムを昇順で並べ替えます。
ステップ3-中央値を計算します。
中央値を見つける前に数値を並べ替えるために使用されるロジックは次のとおりです-
for (i = 1 ; i <= n-1 ; i++){
for (j = 1 ; j <= n-i ; j++){
if (a[j] <= a[j+1]){
t = a[j];
a[j] = a[j+1];
a[j+1] = t;
} else
continue ;
}
} リストの中央値を見つけるために使用されるロジックは次のとおりです-
if ( n % 2 == 0) median = (a[n/2] + a[n/2+1])/2.0 ; else median = a[n/2 + 1];
例
以下は、与えられた数の中央値を計算するためのCプログラムです-
#include<stdio.h>
#define N 10
main( ){
int i,j,n;
float median,a[N],t;
printf("Enter the number of items\n");
scanf("%d", &n);
/* Reading items into array a */
printf("Input %d values \n",n);
for (i = 1; i <= n ; i++)
scanf("%f", &a[i]);
/* Sorting begins */
for (i = 1 ; i <= n-1 ; i++){ /* Trip-i begins */
for (j = 1 ; j <= n-i ; j++) {
if (a[j] <= a[j+1]) { /* Interchanging values */
t = a[j];
a[j] = a[j+1];
a[j+1] = t;
}
else
continue ;
}
} /* sorting ends */
/* calculation of median */
if ( n % 2 == 0)
median = (a[n/2] + a[n/2+1])/2.0 ;
else
median = a[n/2 + 1];
/* Printing */
for (i = 1 ; i <= n ; i++)
printf("%f ", a[i]);
printf("\n\nMedian is %f\n", median);
} 出力
上記のプログラムを実行すると、次の出力が生成されます-
Enter the number of items 5 Input 5 values 2.3 1.2 3.8 4.6 8.9 8.900000 4.600000 3.800000 2.300000 1.200000 Median is 3.800000
-
リンクリストの長さを見つけるCプログラム
リンクリストは動的メモリ割り当てを使用します。つまり、それに応じて拡大および縮小します。それらはノードのコレクションとして定義されます。ここで、ノードにはデータとリンクの2つの部分があります。データ、リンク、およびリンクリストの表現を以下に示します- リンクリストの種類 リンクリストには次の4種類があります- 単一/単一リンクリスト 二重/二重リンクリスト 循環単一リンクリスト 循環二重リンクリスト 再帰メソッドを使用してリンクリストの長さを見つけるために使用したロジックは-です。 int length(node *temp){ if(temp==NUL
-
リスト内の最小数を見つけるPythonプログラム
この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −リストが表示されます。リストで利用可能な最小の番号を表示する必要があります ここでは、リストを並べ替えて最小の要素を取得するか、組み込みのmin()関数を使用して最小の要素を取得できます。 次に、以下の実装の概念を観察しましょう- 例 list1 = [101, 120, 104, 145, 99] # sorting using built-in function list1.sort() print("Smallest element is:", list1[0]) 出力 Smal