-
C++でPythonの辞書(dict)を読み取る方法をわかりやすく解説
C++からPythonの辞書を読み取るには?基本的な考え方 C++とPythonを連携させるためのバインディング技術は数多く存在します。C++側でPythonの辞書(dict)オブジェクトを読み取る際に最も重要なのは、両言語間のデータ通信に何を使用するかという点です。選択する手法によって実装の難易度やパフォーマンスが大きく変わります。 方法1:C++/Pythonバインディングライブラリを利用する もっとも一般的なのが、専用のバインディングライブラリを使う方法です。Boost.Pythonやpybind11などの主要なライブラリの多くは、Pythonオブジェクトの解析(パース)処理をライブラ
-
C/C++のポインタとJavaの参照(リファレンス)の違いを徹底解説
C/C++とJavaはどちらも広く使われるプログラミング言語ですが、メモリ上のオブジェクトを扱う仕組みが大きく異なります。C/C++では「ポインタ」、Javaでは「参照(リファレンス)」と呼ばれる概念がそれに該当します。本記事では、それぞれの基本的な使い方をコード例とともに確認した上で、両者の主な違いをわかりやすく解説します。 ポインタとは C言語およびC++において、ポインタとは他の変数のアドレス(メモリ上の場所)を格納するための変数です。ポインタを通じて、元の変数の値を間接的に読み書きすることができます。 サンプルコード #include <iostream> using na
-
C#で正規表現を使って文字列の末尾2文字を取得する方法
C#で文字列の最後の2文字を取り出したい場合、Regex.Matchメソッドと正規表現パターンを組み合わせることで簡単に実現できます。この記事では、具体的な手順とサンプルコードをわかりやすく解説します。手順1:対象となる文字列を用意するまず、操作対象となる文字列を定義します。ここでは例として次のような文字列を使用します。string str = Cookie and Session;手順2:正規表現で末尾2文字を抽出する次に、以下の正規表現パターンを使って、文字列の末尾から2文字を取得します。Regex.Match(str, @(.{2})\s*$)このパターンの意味は以下の通りです。(.{2
-
C++の「Hello, World!」プログラム徹底解説|初心者向けに各構成要素をやさしく説明
C++は、手続き型プログラミング、オブジェクト指向プログラミング、ジェネリック(総称)プログラミングをサポートする汎用プログラミング言語です。C++はC言語のスーパーセット(上位互換)であり、有効なC言語のプログラムはそのままC++でもコンパイルして実行できます。また、C++にはデータ隠蔽、カプセル化、継承、ポリモーフィズム(多態性)といったオブジェクト指向プログラミングの重要な機能が備わっています。それでは、画面に「Hello, World!」と表示する最初のC++プログラムを見ていきましょう。サンプルプログラム#include <iostream> using namespac
-
C++でフィボナッチ数列を表示するプログラム【動的計画法・再帰の2つの方法】
フィボナッチ数列とは、各項が「直前の2つの項の和」となる規則性を持つ数列のことです。この規則に従うと、次のような整数列が得られます。0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377……フィボナッチ数を定義する漸化式は以下の通りです。F(n) = F(n-1) + F(n-2) F(0) = 0 F(1) = 1フィボナッチ数列を表示する2つの方法C++でフィボナッチ数列を表示するには、大きく分けて動的計画法(DP)と再帰的プログラミングの2つのアプローチがあります。それぞれの特徴と実装例を詳しく見ていきましょう。方法1:動的計画法を使
-
C++で数値の約数(因数)をすべて表示するプログラムの解説
因数(約数)とは、ある数を掛け合わせて作ることができる数のことです。例えば、5 × 3 = 15 となるため、5 と 3 は 15 の因数です。同様に、15 × 1 = 15 となるため、1 と 15 も 15 の因数に含まれます。この記事では、指定した数値の因数をすべて表示する C++ プログラムを紹介します。例:基本的な実装#include<iostream> using namespace std; int main() { int num = 20, i; cout << The factors of << num <<
-
C++で数値が素数かどうかを判定するプログラムの作成方法
素数とは? 素数(そすう)とは、1より大きい整数のうち、約数が「1」と「その数自身」のみである数のことです。最初の方の素数には以下のようなものがあります。 2, 3, 5, 7, 11, 13, 17 ここでは、入力された数値が素数かどうかを判定するC++プログラムを紹介します。 サンプルプログラム #include <iostream> using namespace std; int main() { int n=17, i, flag = 0; for(i=2; i<=n/2; ++i) { if(n%i==0) {
-
ユーザーが入力した数値を出力するC++プログラム
C++では、入力と出力のためにそれぞれ「cin」と「cout」というオブジェクトを使用します。cinはistreamクラスのインスタンスであり、キーボードなどの標準入力デバイスに接続されています。一方、coutはostreamクラスのインスタンスであり、ディスプレイ画面などの標準出力デバイスに接続されています。 ユーザーが入力した数値を表示するプログラムは、以下のとおりです。 サンプルコード #include <iostream> using namespace std; int main() { int num; cout<<Enter the num
-
10進数を2進数に変換するC++プログラムの作り方【サンプルコード付き】
コンピュータシステムでは、2進数は2進法(基数2)で、10進数は10進法(基数10)で表現されます。本記事では、C++を使って10進数を2進数に変換する方法を、サンプルコードと実行結果を交えてわかりやすく解説します。 10進数とそれに対応する2進数の例は、以下の表の通りです。 10進数2進数 1501111 1001010 1810010 2711011 10進数を2進数に変換するC++プログラム 10進数を2進数に変換するプログラムは、以下の通りです。 サンプルコード #include <iostream> using namespace std; void Decim
-
C++で2つの数値を加算するプログラムの書き方【サンプルコード付き】
加算(足し算)は、最も基本的な算術演算の一つです。2つの数値を加算するプログラムは、指定された2つの数値の合計を計算し、その結果を画面に表示します。この記事では、C++で2つの数値を加算する方法を、変数を使った基本例と配列を使った応用例の2パターンに分けて解説します。例1:変数を使って2つの数値を加算するまずは、最もシンプルな方法です。2つの整数型変数を用意し、その合計を別の変数に格納して出力します。#include <iostream> using namespace std; int main() { int num1 = 15, num2 = 10, sum;
-
商と剰余を求めるC++プログラムの書き方を解説
割り算には、被除数(ひじょすう)・除数・商・剰余という4つの要素が関わります。本記事では、これらの基本的な概念を整理したうえで、C++を使って商と剰余を求めるプログラムの作成方法をわかりやすく解説します。 商と剰余とは? まず、割り算を構成する各要素の役割を確認しましょう。 被除数(dividend):割られる数 除数(divisor):割る数 商(quotient):割り算を行った結果得られる値 剰余(remainder):割り算の後に残る数 これらの関係は、次の式で表されます。 被除数 = 除数 × 商 + 剰余 具体例 例として、15 を 7 で割ってみましょう。このとき、商は 2
-
C++でint・float・double・charのサイズを確認する方法|sizeof演算子の使い方を解説
C++における主なデータ型C++には多数のデータ型が用意されていますが、その中でも特によく使用されるのが「int」「float」「double」「char」の4つです。それぞれの特徴は以下のとおりです。int:整数を扱うためのデータ型です。通常は4バイトのメモリ領域を必要とします。float:単精度浮動小数点数(小数)を格納するためのデータ型です。通常は4バイトのメモリ領域を使用します。double:倍精度浮動小数点数(より高精度な小数)を格納するためのデータ型です。通常は8バイトのメモリ領域を使用します。char:1文字を格納するためのデータ型です。通常は1バイトのメモリ領域を使用します。s
-
【C++】2つの数値を交換(スワップ)するプログラムの書き方
2つの数値を交換(スワップ)するC++プログラムを作成する方法は、主に2つあります。1つ目は一時変数(temp変数)を使用する方法で、2つ目は第3の変数を使わない方法です。ここでは、それぞれの方法についてサンプルコード付きで詳しく解説します。一時変数を使って2つの数値を交換するプログラムまず、一時変数を使って2つの数値を交換する基本的なプログラムを見てみましょう。サンプルコード#include <iostream>using namespace std;int main() { int a = 10, b = 5, temp; tem
-
C++で数値が偶数か奇数かを判定するプログラム(剰余演算・ビット演算の2つの方法)
偶数と奇数とはある整数が2で割り切れる場合、その数は「偶数」と呼ばれます。逆に2で割り切れない場合は「奇数」となります。偶数の例は以下の通りです。2, 4, 6, 8, 10, 12, 14, 16奇数の例は以下の通りです。1, 3, 5, 7, 9, 11, 13, 15, 17方法1:剰余演算子(%)を使った判定最も一般的な方法は、剰余演算子 % を使うやり方です。数値を2で割ったときの余りを調べることで、偶数か奇数かを判定できます。サンプルコード#include <iostream> using namespace std; int main() { int num
-
【初心者向け】C++で文字が母音か子音かを判定するプログラムの書き方
母音と子音とは?アルファベットにおける母音(Vowel)とは、「a」「e」「i」「o」「u」の5つの文字を指します。そして、これら以外のすべてのアルファベットは子音(Consonant)と呼ばれます。本記事では、C++を使って任意の1文字が母音なのか子音なのかを判定するプログラムの書き方を、初心者にもわかりやすく解説します。基本形:小文字のみに対応した判定プログラムまずは最もシンプルな例として、小文字のアルファベット1文字が母音か子音かを判定するプログラムを見てみましょう。サンプルコード#include <iostream> using namespace std; int ma
-
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<<&quo
-
【C++入門】二次方程式のすべての解(根)を求めるプログラムの書き方
二次方程式は一般に ax2 + bx + c = 0 の形で表されます。この方程式の解(根)は、以下に示す有名な「解の公式」によって求めることができます。判別式による3つの場合分け二次方程式の解の性質は、判別式 D = b2 − 4ac の値によって、次の3通りに分類されます。b2 < 4ac の場合:解は実数にならず、虚数を含む複素数になります。b2 = 4ac の場合:解は実数となり、両方の解が同じ値(重解)になります。b2 > 4ac の場合:解は実数となり、異なる2つの実数解を持ちます。それでは、これらすべての場合に対応した、二次方程式の解を求めるC++プログラムを見ていき
-
自然数の合計を計算するC++プログラム:forループと公式の2つの方法を解説
自然数とは、1から始まる正の整数のことです。自然数の列は以下のように続きます。1, 2, 3, 4, 5, 6, 7, 8, 9, 10……最初のn個の自然数の合計は、forループを使う方法と、数学の公式を使う方法の2通りで求めることができます。それぞれの方法によるプログラムを以下に示します。forループを使って自然数の合計を求めるforループを使用してn個の自然数の合計を計算するプログラムは次のとおりです。サンプルコード#include<iostream> using namespace std; int main() { int n=5, sum=0, i; f
-
C++でうるう年を判定するプログラムの書き方
うるう年とはうるう年とは、暦の年と天文学的な年(地球の公転周期)とのずれを解消するために、1日が追加される年のことです。通常の年は365日ですが、うるう年は366日となります。うるう年の判定ルールは以下のとおりです。4で割り切れる年はうるう年であるただし、100で割り切れる年はうるう年ではないさらに、400で割り切れる年はうるう年であるある年がうるう年かどうかを判定するC++プログラムは、以下のとおりです。例:条件式を使ったうるう年判定プログラム#include<iostream> using namespace std; int main() { int year = 2
-
C++で階乗を求めるプログラム|再帰・非再帰の2つの実装方法を解説
非負整数 n の階乗とは、n 以下のすべての正の整数を掛け合わせた積のことです。たとえば、5 の階乗は次のように計算されます。5! = 5 × 4 × 3 × 2 × 1 5! = 120整数の階乗は、再帰的なプログラムまたは非再帰的なプログラムのいずれかで求めることができます。ここでは、両方の実装例をサンプルコードとともに紹介します。 方法1:非再帰プログラム(forループ)で階乗を求める 最もシンプルな方法は、for ループを使って 1 から n まで順番に掛け合わせていく方法です。以下のプログラムでその実装を見てみましょう。 サンプルコード #include <iostream&g