' P '

whatever I will forget

Entries from 2019-02-01 to 1 month

C++ C Type Character

C++

C++にはC言語スタイルのcharと、C++スタイルのcharがある。 C言語スタイルの場合は、基本的にcharに最後null terminateがされてることが条件となる。 Character Functions #include <cctype> をincludeすれば、charを変換するfucntionが使用できるようになる。 例え</cctype>…

C++ While と Do While の違い

C++

Just memo whileループ while (condition) conditionに当てはまった場合、ループが行われる。 なので、このコードに到達した場合、condifitonの結果が先に読み取られる do-while ループ do { //statement } while (condition); do-whileは、まずdoのstatemen…

C++ if文の終わりに;がある場合

C++

完全にひっかかった。 int number; cout << "Enter a number : "; cin >> number; if (number < 50); cout << "It's less than 50!" << endl; if (number > 50) cout << "It's greater than 50!" << endl; else cout << "I don't know"; この場合、、、 最初…

C++ Vector内の数値の最大値、最小値の求め方

C++

*iteratorを使わない場合のやり方。iteratorを使うケースは追々記述します。 #include <vector> #include <iostream> using namespace std; int main() { vector <int> vec {10,9,8,7,6,5,4,3,2,1,0}; int smallest {}; int largest {}; smallest = vec.at(0); for (auto val: vec) </int></iostream></vector>…

C++ 小数点n桁を丸めたい時

C++

そんな時は、 #include<iomanip> をインクルードし coutに cout << fixed << setprecision(1) をすれば良いだけです。 ()の中に該当するのが丸める桁数。 例だと小数点1桁以下を丸める。 #include <iostream> #include <vector> #include <iomanip> using namespace std; int main() { double tot</iomanip></vector></iostream></iomanip>…

C++ レンジベースのLoop

C++

C++にこんな機能があったとは、、全く知りませんでした。 リスト内の変数分forループの場合 #include <iostream> using namespace std; int main() { int scores[] {10,20,30}; for (auto score: scores) cout << score << endl; return 0; } for文の中では、配列の値</iostream>…

C++ for Loop Tips

C++

for文の中でのカウンター変数宣言 int main () { for (int i {0} ; i < 5 ; i++) { //statement } } こうすると、for文の中だけで変数 i は使用される。 例えば、for文の外で、 int = 100 とかを行うと、コンパイルエラーとなる。 for文用の変数はfor文の条…

C++ Conditional Operator

C++

C++のConditional Operator、コードの行数が減っていいですね。 if elseをアホみたいに書いてしまってたが、今度からこれ使お。。。 例えば #include <iostream> using namespace std; int main() { int comp1 {10}; int comp2 {20}; if (comp1 < comp2) cout << "larg</iostream>…

C++ boolappha/notboolalpha、数字比較時の注意点

C++

bool型変数の値の表示を0/1 -> True/Flaseに切り替えたい場合 C++は下記boolalpha/notboolalphaマニュピレーターを使用することでbool型変数の表示方式を切り替えることができる #include <iostream> using namespace std; int main() { //cout << boolalpha; bool equ</iostream>…

C++ 変数型タイプのキャスティングについて

C++

Lower / HIgher タイプの互換 lower(int) op higher(double) 2 * 0,5 2 は 2.0 に変換される lower = higher int num {0}; num = 100.2; 100.2はintの100に変換される lowerからhigherは予期せぬ動作にならないが、(ならないこともないがマシ) higherからl…

C++ Preインクリメント / Postインクリメント

C++

違いがあるの、しらなかった・・・ Preインクリメント counter = 10; result = 0; result = ++counter; count << "counter : " << counter << endl; count << "result : " << result << endl; これ、resultもcounterも11になります。 Preなので、その変数が…

C++ vector 配列参照と値の追加と大きさの確認

C++

配列の値参照 vector <int> array {1,2,3,4,5} これは普通にarray[0]でもOKですが C++ではarray.at(0)でも参照可能 .at()で値の確認をすると、array.at(5) とかをやっちゃっても、 ちゃんとプログラム上でout_of_rangeですよと言ってくれるらしい! 値の追加 vecto</int>…

C++ Vector

C++

宣言 #include <vector> ←必ず必要(stdライブラリを使うため) using namespace std; vector <char> a; vector <int> i; ・vectorの数を宣言したい場合 vector <char> a (5); vector <int> i (5); ・vectorの初期化 vector <char> {'a', 'b', 'c', 'd', 'e'}; vector <char> { 100, 99, 98, 97, 96}; </char></char></int></char></int></char></vector>…