C++
例題 配列の使いどころ 配列の使い方 宣言 要素へのアクセス 要素の書き換え 要素数の指定方法 マクロ宣言 なぜ、変数宣言では要素数の指定ができないか(要検証) 配列とfor文 例題の回答 +α(その他の例題) 2つの配列を操作 例題 5人の生徒がいるクラスでテス…
参考 例1:vectorの要素を置き換える 例2:文字列の場合 参考 cpprefjp.github.io 例1:vectorの要素を置き換える ソースコードvectorの「1」を「0」に置き換える #include <algorithm> #include <iostream> #include <vector> int main() { std::vector<int> v = { 1, 2 ,3, 1, 2 }; // 1を0に</int></vector></iostream></algorithm>…
例題 while文の使い方 実際のプログラムを用いた解説 forとwhileの使い分け 例題の解答 例題 While文を使って1~10までの整数の和を求めるプログラムを作成してください。 while文の使い方 前回は例題についてfor文で作りましたが、今回はwhile文を作って繰り…
2進数表示 概要 使用例(128を2進数で表示) Tips:表示する桁数の調整 16進数表示(std::hex) 基本的な使い方 注意点 桁数指定で表示 2進数表示 概要 bitsetを使えばOKです。 bitsetライブラリを用意して、変数xをn桁の二進数で表示したいなら次のように記述し…
例題 概要 for文の使い方 実際のプログラムを用いた解説 例題の解答 例題 for文を使って1~10までの整数の和を求めるプログラムを作成してください。 概要 例題は今まで習った文法だけでも解くことができ、 int sum = 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10…
例題 概要 条件式の記述方法 ある条件を満たすときの処理(if) ifの使い方 ifを使ったサンプルコード(xがyより大きい場合の処理) 2つ目以降の条件(else if) else ifの使い方 注) ifを2つ並べたときの違い else ifを用いたコードの例 いずれの条件も満たさない…
1. 超基礎 2. 条件分岐 3. 繰り返し処理 4. 配列 5. 関数 6. アドレスとポインタ 1. 超基礎 標準出力(std::cout) 変数の使い方 標準入力(std::cin) 四則演算 2. 条件分岐 if文 3. 繰り返し処理 for文 while文 4. 配列 5. 関数 6. アドレスとポインタ
例題 概要 足し算・引き算のやり方 例1:5+4の計算 例2:4-1の計算 例3:変数の足し算・引き算 かけ算のやり方 割り算の計算方法 まとめ 例題の解答 例題 入力x、yを受け取り、四則演算した結果を表示してください。実行例 x = 8[入力] y = 3[入力] x+y = 11…
例題 標準入力とは? 概要 C++における標準入力 入力の方法 プラスα:入力する箇所を分かりやすく 例題の解答 例題 任意の数値xを入力したら、次の画面を出力するようなプログラムを作成してください。 数値xを入力してください:[数値xを入力する] 入力した…
例題 変数とは? 変数の使い方 変数の表示 変数の型(intとは?) 例題の解答例 例題 アリスのテストの点数を日本語・英語・フランス語で表示するサイトあります。 点数は毎朝更新されるので、変数を使い保守性の高いコードを書いてください。 なお、今回は少々…
例題 解説(1):標準出力 標準出力とは? C++における標準出力 解説(2):改行の仕方 概要 std::endlを使う方法 \nを使う方法 例題の解答 例題 以下の文字列を画面に出力してください。 C++は難しい。 でも出来たらカッコイイ 解説(1):標準出力 標準出力とは? …
setにおいて要素の存在を確認する方法について 1. set::containsを使った方法(C++20以降) 2. set::countを使う場合 3. set::findを使う場合 setにおいて要素の存在を確認する方法について キーの存在を確認する方法には主に次の3つの関数を使った方法があり…
std::count(一致する要素数を取得) std::countとは? std::countの使用例:vector内の「2」の個数を調べる std::count_if std::count_ifとは? 使用例1:偶数の個数を取得 使用例2:「a」を含む文字列の数を取得 std::count(一致する要素数を取得) std::count…
各手法の使い分け方 (1) 範囲for文を使う方法 使用例1:全要素の列挙 使用例2:各Valueを-1倍にする (2) イテレータを使った方法 使用例1:全要素の列挙 使用例2:各Valueを2倍する 各手法の使い分け方 C++でのmapに対するforループの方法を3つほど紹介しま…
arrayとは? 基本機能 宣言と初期化 n番目の値を取得 n番目の値を書き換え 要素数の取得(size()) for文での表示 指定した要素が何番目にあるか? 昇順・降順に並び替え 最大値・最小値の取得 arrayとは? vectorとは異なる固定長の配列。 C言語の配列と似ている…
最大値(max) 最小値(min) 最大・最小値を同時に求める(minmax) vectorの最大値・最小値をとる場合 最大値(max) 日本語リファレンス:max - cpprefjp C++日本語リファレンス 3つ以上の変数の最大値をとるには、2値の最大値を求めるmax関数の引数をinitializer…
キーの存在を確認する方法について 1. containsを使った方法(C++20以降) 2. countを使う場合 3. findを使う場合 キーの存在を確認する方法について キーの存在を確認する方法には主に次の3つの関数を使った方法があります。 contains(C++20以降) find count …
各手法の使い分け方 (1) sizeを使う方法 (2) 範囲for文を使う方法 使用例1:全要素の列挙 使用例2:各要素を-1倍にする (3) イテレータを使った方法 使用例1:全要素の列挙 使用例2:各要素を3にする 使用例3:findで発見した要素より後ろの要素を列挙 その…
(1) max_elemnt・min_elementを使った方法 max_elemnt・min_elementとは? 使用例1:最大値・最小値を取得 使用例2:範囲指定で最大値を取得 (2) minmax_elementを使った方法 minmax_elementとは? 使用例:最大値・最小値を取得 (3) std::sortを使った方法 概…
一覧 末尾への要素の追加(push_back) n番目に要素を追加(insert) 末尾の削除(pop_back) n番目の要素の削除(erase) 指定した値を削除(std::erase) 一覧 処理 関数 末尾への追加 push_back n番目へ追加 insert 末尾の削除 pop_back n番目の削除 erase 特定の値…
宣言 初期化 (1) 全要素を同じ値で初期化する方法 (2) 指定した要素で初期化する for文でのループ vectorを2次元配列にするときの注意 宣言 std::vector<std::vector<型名>> 変数名; と宣言します。 基本的には、2次元配列の行数と列数(高さと幅)も併せて宣言することが多いの</std::vector<型名>…
dequeとは 基本機能 宣言と初期化 要素数の取得 要素へのアクセス(先頭・末尾・任意) for文で全要素を表示 要素の追加(先頭・末尾・任意) 要素の削除(先頭・末尾・任意) dequeとは vectorと似た構造だが、先頭 or 末尾への追加・削除が高速で行えるという特…
判定方法一覧 使用例 isdigit(数字かどうか判定) isalpha(英文字どうか判定) isalnum(英文字 or 数字かどうか判定) 判定方法一覧 以下のcharを引数に取る関数を使い、判定を行う。 各関数の詳細はリンクとなっている日本語リファレンスを参考に。 関数名 役…
関数テンプレートとは? 基本形1(関数の中で任意の型名を使用) 関数テンプレートの宣言 関数テンプレートの呼び出し 実装例 基本形2(引数の型名が任意) 関数テンプレートの宣言 関数テンプレートの呼び出し 実装例 基本形3(返り値の型が任意) 実装例1(2つ以上…
昇順・降順ソート(std::sort) #include <algorithm> をすることでソートを行う関数std::sortを使用できるようになります(公式ドキュメント:sort - cpprefjp C++日本語リファレンス)。 並び替えたいvectorを「v」とすると、昇順・降順ソートは次の処理で実装できます。 </algorithm>…
最短経路問題について 動的計画法の導入 動的計画法による最短距離の求め方 プログラム実装上の注意 C++での実装例 最短経路問題について 以下の0~6のノードがある経路があります。矢印と数値はノード間の距離を示します(例:ノード0と1の距離は4)。 0から6…
C++における文字列の大文字・小文字判定の方法をソースコード付きで解説。1文字(char)の場合はislower, isupperを使えば判定できるので、これをforループすることでstringへも適用することができます。
multisetとは?(setとの違い) 宣言 for文での表示 要素数の取得(size) 追加(insert) 要素の存在を確かめる(find) 要素の削除(erase) multisetとは?(setとの違い) setと同じ順序付き集合ですが、重複を許すという点でsetと異なります。 基本的な使い方はsetと…
レーベンシュタイン距離(編集距離)を動的計画法で求める方法を図付きで解説。C++での実装方法も掲載。
C++のvectorにおける平均値の求め方を紹介。平均を直接求める関数はありませんが、合計を求める関数reduce/配列サイズで求められます。