C++でセンチメートルをメートル・キロメートルに変換するプログラムの作り方
センチメートル(cm)単位の長さが入力として与えられたとき、その値をメートル(m)およびキロメートル(km)に変換する方法を解説します。単位変換は日常的によく使われる処理であり、C++では簡単な割り算だけで実装できます。
長さの換算式
変換には、次の基本的な換算式を使用します。
1 m = 100 cm 1 km = 100000 cm
つまり、センチメートルの値を100で割ればメートルに、100000で割ればキロメートルに変換できます。
変換例
入力:centimeter = 300 出力:メートルでの長さ = 3m キロメートルでの長さ = 0.003km
アルゴリズム
処理の流れは以下の通りです。
開始 ステップ1 → 変数 centimeter、meter、kilometer を宣言する ステップ2 → centimeter に 300 を代入する ステップ3 → meter = centimeter / 100.0 とする ステップ4 → kilometer = centimeter / 100000.0 とする ステップ5 → meter と kilometer の値を出力する 終了
C++による実装例
#include <bits/stdc++.h>
using namespace std;
int main(){
float centimeter, meter, kilometer;
centimeter = 300;
// センチメートルをメートルとキロメートルに変換
meter = centimeter / 100.0;
kilometer = centimeter / 100000.0;
cout << "Length in meter = " << meter << "m" << endl;
cout << "Length in Kilometer = " << kilometer << "km" << endl;
return 0;
}コードのポイント
割り算を行う際は、100.0 のように小数点付きの数値(浮動小数点定数)で割ることが重要です。整数同士の除算では小数部分が切り捨てられてしまうため、正確な変換結果が得られません。float型やdouble型を使うことで、0.003kmのような小数を含む値も正しく扱えます。
実行結果
Length in meter = 3m Length in Kilometer = 0.003km
このように、わずか数行のコードでセンチメートルからメートル・キロメートルへの単位変換を実現できます。ユーザーからの入力を受け付ける場合は、cin を使って centimeter の値を読み込むように変更すれば、任意の値に対応できる汎用的なプログラムになります。
-
C++でソート済み連結リストを高さ平衡な二分探索木に変換する方法
はじめに要素が非減少順(昇順)に並んでいる単方向連結リストが与えられたとき、それを高さ平衡な二分探索木(BST)へ変換する問題を考えてみましょう。例えば、リストが [-10, -3, 0, 5, 9] の場合、変換後の木は次のようになります。この問題では、リストの中央の要素を根(ルート)として選び、その左右の部分リストをそれぞれ再帰的に変換することで、自然にバランスの取れた木を構築できます。以下の手順で解いていきましょう。アルゴリズムの手順リストが空の場合は null を返します。リストの先頭ノードを受け取る再帰メソッド sortedListToBST() を定義します。高速ポインタ・低速ポイ
-
摂氏を華氏に変換するC++プログラム
この記事では、C++を使って摂氏(℃)の温度を華氏(℉)に変換するプログラムを紹介します。摂氏から華氏への変換は、次のシンプルな数式で行えます。 F = (9 × C ÷ 5) + 32 ここで、Cは摂氏温度、Fは華氏温度を表します。例えば、摂氏37度は華氏98.6度に相当し、これは人間の平熱に近い値です。 アルゴリズム 処理の流れは以下の通りです。 開始 摂氏温度Cを入力する F = (9C/5) + 32 を計算する 結果Fを返す 終了 サンプルコード #include<iostream> using namespace std; int main() {