【C++】セミコロンなしでプログラムを書く方法とは?
セミコロンなしでC++プログラムを書くには?
C++プログラムをセミコロンなしで記述する方法はいくつか存在します。ただし、これは極めて悪い作法であり、実際のコードで絶対に使用してはいけません。本記事はあくまで情報提供を目的として紹介するものです。
セミコロンなしでC++プログラムを書く最も簡単な方法は、if文を利用することです。C++ではほぼすべての文を式として扱うことができます。そのため、処理したい文をif文の条件式(丸括弧)の中に配置すれば、文末にセミコロンを付ける必要がなくなります。
コード例
#include<iostream>
int main() {
if (int N = 1) {
if (std::cin >> N) {}
if (std::cout << N) {}
}
}実行結果
数値として「21」を入力した場合、次の出力が得られます。
21
break・continue・goto・return文への対処法
- break文・continue文:ループ内に対応する条件式を組み込むことで回避できます。
- goto文:制御フローをより適切に構造化することで回避できます。
- return文(非void関数の場合):戻り値として機能する参照引数を渡し、関数の末尾でその参照に値を代入することで回避できます。
-
C++の再帰を使って木(ツリー)のサイズを計算するプログラムの作成方法
この問題では、二分木が与えられ、「再帰」を使って木のサイズを計算するプログラムを作成することが課題となります。 ここでいう木のサイズとは、その木に含まれるノードの総数のことです。 具体例を見ながら問題を理解していきましょう。 上の木の場合、サイズは 5 となります。 解法の考え方:再帰によるサイズ計算 木のサイズを求めるには、左部分木のサイズ + 右部分木のサイズ + 1(現在のノード) を計算します。再帰関数は、木の左右それぞれの部分木に対して呼び出され、部分木が存在しない(NULL の)場合は 0 を返します。 上記の例をこの手法で解いてみる ルート(値3)のサイズを求める場合: si
-
C++で作る「ハッピー・ウィメンズデイ」出力プログラム
世界中でお祝いされる「女性の日」。この記事では、その祝福メッセージをC++のコンソールプログラムとして出力する方法をご紹介します。記号「#」で描かれた円の中央に「7 Oct」と「Happy Womens Day」の文字列を表示し、さらにその下にはアスタリスク(*)でリボンのような模様を描く構成になっています。 サンプルコード #include <iostream> using namespace std; int main(){ // デザインのサイズを初期化 int n = 5; // 円(デザインの上半分)を描画するループ // 外側のループで高