C++
count_ifとは? 使用例 (1) 偶数の要素数を取得 (2) 「a」を含む文字列の数を取得 count_ifとは? 配列において指定した条件を満たす要素の個数を取得できる関数です。 参考サイト:count_if - cpprefjp C++日本語リファレンス 引数、返り値を以下に示す。 第…
multisetとは(setとの違い)? 宣言 for文での表示 要素数の取得(size) 追加(insert) 要素の存在を確かめる(find) 要素の削除(erase) multisetとは(setとの違い)? setと同じ順序付き集合ですが、重複を許すという点でsetと異なります。 基本的な使い方はsetと…
レーベンシュタイン距離(編集距離)を動的計画法で求める方法を図付きで解説。C++での実装方法も掲載。
C++のvectorにおける平均値の求め方を紹介。平均を直接求める関数はありませんが、合計を求める関数reduce/配列サイズで求められます。
C++でstd::swapを使った値の入れ替え方法を紹介。一時変数を使う場合と比較して短く記述することができます。
C++でstringを大文字と小文字との相互変換(例:「TWITTER」と「twitter」)する方法を紹介。for文とtransformを使った方法をサンプルコード付きで紹介。
C++におけるPairの使い方をソースコード付きで紹介。setと併用することで、二次元座標の効率よい探索とかもできるなどの例も紹介します。
C++における順列表示をnext_permutation関数を使って実装します。
C++におけるlower_bound,、upper_boundを用いた二分探索の方法をソースコード・画像付きで解説。
BFS(幅優先探索)による経路探索の方法をC++のソースコード付きで紹介。競技プログラミングでもよく出てくるので備忘録としてまとめました。
C++における最大値・最小値の求め方を紹介。max(min)_elementを使った方法とsortにより、先頭・末尾の要素を取り出す方法の2つをソースコード付きで解説します。
C++におけるスタックの使い方を紹介。データの取り出し、格納、読み込み、大きさの取得などをサンプルコードを交えながら紹介。
C++におけるusingの使い方を紹介。本記事では、namespaceの省略と別名宣言におけるusingの利用方法を紹介します。
C++におけるstd::for_each_nの使い方を紹介。for_eachと異なり終端のイテレータではなく、先頭からの要素数を指定するといった特徴があります。
C++でのstd::transformの使い方を紹介します。指定されたイテレータ範囲内のすべての要素に対して関数を適用して、要素を更新させることができます。
C++で値を指定範囲に収めることができる関数であるstd::clampを紹介します。
C++でstd::for_eachを使った全要素の更新方法を紹介。transformと異なり、返り値を持たないラムダ式・関数を使います。vectorの全要素を表示する場合などに利用できます。
C++でstd::copyを使ったvectorのコピーの方法を紹介します。std::copyを使うことでfor文を使用せずに済むので、コードを短く記述できます。
作成した関数 使用例 ソースコード 実行結果 作成した関数 //2つのvectorが一致するかどうか判定 template<class T> bool IsOverlapVector(const std::vector<T>& a, const std::vector<T>& b) { //サイズが不一致ならfalseを返す if (a.size() != b.size()) { return false</t></t></class>…
C++の連想配列mapの使い方の解説。追加、for文、検索、削除など。
四則演算 複合演算子(+=とか) std::coutでの表示 四則演算 friend関数を利用します。 以下では、2次元ベクトルクラス「Vector2」について、ベクトル同士の和と、スカラーとの積を計算できるようにしました。 #pragma once #include <iostream> //クラスの宣言 class Ve</iostream>…
C++のsetについてfor文でループ、sizeの取得、要素の追加と削除(insert、erase), 検索(find), 末尾(から2番目)要素のやり方を紹介します。
C++におけるstd::stringの使い方を紹介。これを使うことで文字列の一部のみを取り出しすることができます。
乱数の生成 参考 ソースコード 実行結果 乱数配列の生成 実行結果 重複なしの乱数配列の生成 ソースコード 実行結果 選択肢から作成 概要 ソースコード 実行結果 乱数の生成 参考 こちらのサイトを参考にしました。 色々な乱数が紹介されていましたが、範囲…
C++のクラスについて解説します。メンバ関数、コンストラクタなどクラスの基礎をサンプルコードを交えながら説明していきます。
基本(1次元配列) 宣言と初期化 大きさの取得 for文での表示 末尾への要素の追加 任意の位置への要素の追加(insert)&削除(erase) 並び替え(sort) 応用例:2次元配列 宣言と初期化 for文でのループ 基本(1次元配列) 宣言と初期化 可変長の1次元配列の宣言は s…
OpenCV(C++)でのルックアップテーブル(LUT)の使い方を解説します。
可変長の行列MatrixXd 基本的な使用方法(宣言、アクセス、表示) サイズの変更(resize) 特殊な初期化方法 可変長の行列MatrixXd Eigen::Matrix<double, M, N> mat; で宣言する場合はMとNは定数でなければならないので#defineで宣言するなどの必要があり、プログラム中で行列</double,>…
ベクトル 宣言 初期化 大きさの取得 要素へのアクセスと変更 演算(加算、減算、乗算、内積) 行列 宣言 初期化 要素へのアクセスと変更 行数、列数の取得 加算、減算、積、乗算 転置と逆行列 行列とベクトルの積 ベクトル 宣言 基本 //int型で3次元のベクトル…