3つの数字の中から最大値を見つけるC++プログラム
3つの数値の中から最大のものを求めるには、if文を組み合わせて条件分岐を行うのが基本的な方法です。ここでは、if文を入れ子構造にして最大値を判定するC++プログラムを紹介します。
サンプルコード
#include <iostream>
using namespace std;
int main() {
int a = 5 ,b = 1 ,c = 9;
if(a>b) {
if(a>c)
cout<<a<<" is largest number";
else
cout<<c<<" is largest number";
}else {
if(b>c)
cout<<b<<" is largest number";
else
cout<<c<<" is largest number";
}
return 0;
}
実行結果
9 is largest number
プログラムの解説
このプログラムでは、まず変数 a と b を比較します。a が b より大きい場合は、次に a と c を比較します。ここで a が c よりも大きければ、a が3つの数の中で最大であることが確定します。もし a が c 以下であれば、c が最大の数となります。
if(a>b) {
if(a>c)
cout<<a<<" is largest number";
else
cout<<c<<" is largest number";
}
a が b より大きくなかった場合、すなわち b の方が a より大きい場合は、今度は b と c を比較します。b が c より大きければ b が最大の数であり、そうでなければ c が最大の数となります。
else {
if(b>c)
cout<<b<<" is largest number";
else
cout<<c<<" is largest number";
}
このように、2段階の比較によって必ず3つの数値の中から正しい最大値を特定できる仕組みになっています。
三項演算子を使った簡潔な書き方
if文の代わりに三項演算子(条件演算子)を使うと、同じ処理を1行で表現できます。
int largest = (a > b) ? ((a > c) ? a : c) : ((b > c) ? b : c); cout<<largest<<" is largest number";
std::maxを使う方法
また、標準ライブラリの std::max 関数を利用すれば、比較ロジックを自分で書く必要がなく、より安全で読みやすいコードになります。
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int a = 5 ,b = 1 ,c = 9;
int largest = max(a, max(b, c));
cout<<largest<<" is largest number";
return 0;
}
学習目的であればif文による条件分岐の理解が重要ですが、実際の開発では std::max のような標準機能を活用するのがおすすめです。
-
C++で配列の最大要素とその位置を見つける方法
配列の最大要素とは配列には複数の要素が格納されており、その中で他のすべての要素よりも大きい値を持つものが「最大要素」です。具体例51724上記の配列の場合、最大要素は7であり、インデックス2の位置に存在します。それでは、配列の最大要素を求めるC++プログラムを見ていきましょう。サンプルコード#include <iostream> using namespace std; int main() { int a[] = {4, 9, 1, 3, 8}; int largest, i, pos; largest = a[0]; for(i=1; i<
-
Javaで3つの数値の中から最大値を見つけるプログラムの作り方
はじめに 本記事では、Javaを使って3つの整数の中から最大値を見つける方法を解説します。値の比較には比較演算子(>=)を使用し、シンプルなif-else文で各値を順番に比べていく、初心者にもわかりやすいアプローチを紹介します。 入力と出力の例 入力: -50, 30, 50 出力: 最大の数値は 50 です アルゴリズム 処理を開始する。 3つの整数型変数 input_1、input_2、input_3 を宣言する。 ユーザーに3つの整数の入力を促す(または値をコード内で直接定義する)。 値を読み込む。 if-else文を使い、1つ目の値が他の2つよりも大きいかどうかを判定する。