C++では、関数を使って数値の大小比較を行い、大きい方の値(最大値)を返す処理を簡潔に実装できます。本記事では、2つの整数を比較して最大値を返す関数を定義し、それを使ってユーザー入力に基づく処理を行う方法を、具体的なサンプルコードをもとに丁寧に解説いたします。
目次
サンプルコード:2つの数値から最大値を求める関数
#include <iostream>
using namespace std;
// 関数 getMaximum の定義(2つの整数を比較して大きい方を返す)
int getMaximum(int a, int b)
{
if (a > b)
return a;
else
return b;
}
int main()
{
int value1, value2, maxValue;
cout << "1つ目の整数を入力してください。" << endl;
cin >> value1;
cout << "2つ目の整数を入力してください。" << endl;
cin >> value2;
maxValue = getMaximum(value1, value2);
cout << "最大値は " << maxValue << " です。" << endl;
return 0;
}
コードの解説
getMaximum
関数の仕組み
int getMaximum(int a, int b)
- 引数として2つの整数(
a
とb
)を受け取ります。 if
文でa
がb
より大きければa
を、そうでなければb
を返します。return
文によって、最大値が関数の戻り値として呼び出し元に返されます。
main関数での使用方法
maxValue = getMaximum(value1, value2);
- 入力された2つの値を引数として関数に渡し、結果(最大値)を
maxValue
に格納しています。
実行例
1つ目の整数を入力してください。
42
2つ目の整数を入力してください。
67
最大値は 67 です。
なぜ関数で最大値を求めるのか?
利点 | 説明 |
---|---|
再利用性 | 他の場面でも使える汎用関数として活用可能 |
コードの簡潔化 | 処理内容を関数化することでmain関数が見やすくなる |
学習効果 | 条件分岐(if文)と戻り値の使い方を同時に学べる |
よくある注意点
- 比較対象が等しい場合、
else
側の値が返されます(a == b
のときはb
が返される)。 - 標準ライブラリにも
std::max
がありますが、自作関数でロジックを学ぶことが大切です。
まとめ
getMaximum
のように、2つの値を比較して大きい方を返す関数を定義することで、再利用可能な部品として処理を分離できます。if ~ else
文とreturn
を使うことで、最大値を柔軟に判定し、呼び出し元で利用することができます。- この基本構文を理解することで、今後の条件処理や戻り値活用の土台が身につきます。