1. ホーム
  2. c++

[解決済み】C++ライブラリにmedian関数はありますか?

2022-02-09 14:31:32

質問内容

C++で数値のソートされた配列の中央値を計算しようとしているのですが、C++ライブラリにこれを行う組み込み関数があるかどうか疑問に思っています。

どのように解決するのですか?

関数を使う必要はありません。項目が奇数であるリストの中央値を求めるには、次のようにすればよい。

cout << sortedArray[size/2];

sortedArray は配列、size は配列の大きさです。 偶数の配列の場合は、次のようにすればよいでしょう。

cout << (sortedArray[size/2] + sortedArray[(size/2) - 1])/2

つまり、n/2個の要素とn/2-1個の要素の平均をとればよい。

サイズがわからない場合は、配列の中をループして、要素がいくつあるか数える必要があります。配列のサイズは常に整数なので、小数で計算することは関係ありません。