さて、前回はif文について学んでいきましたが。今回はプール型、(bool型)について学習していきます。bool型は、if文と一緒に使うと便利なので、覚えておくと良いと思います。
では、早速行きましょう!
ブール型とは・・・
”型”には文字型、整数型などがあると以前の記事で書きました。
(気になる方は、こちら!)
そして同じく”型”とついているプール型。これは、ture とfalseしか入らない型です。tureは、正しい、真という意味。 falseは、嘘、偽という意味です。
ブール型は、tureとfalseだけが入る型です。
C++のブール型では、0がfalse(偽)。1はture(真)を意味します。
※これは、覚えなくても大丈夫ですが。1以外でも真を表すことがあるらしいです。その場合、0がfalse, 0以外をtureと表すそうです。
では、どのように使っていくのか。実際にコードを書いていきます
bool型を使ってみる
実は、bool型しか使えないプログラムはないそうです。しかし、このbool型を用いることでコードが分かり易くなることがあるので使えるようにした方が便利だと思います。
使い方は、シンプルで 「bool 何かの文字 = 数字、trure ,falseのどれか」です。コードを見てみましょう。
bool x = false;
bool y = ture;
bool z = 0
bool y = 3
このように、 「bool 何かの文字 = 数字、trure ,false」と書きます。そして、 このコードを実行すると上から順に
0
1
0
1
と表示されます。1は、true。0は、falseを表しています。
bool型の使い方は、ご理解いただけたでしょうか?
応用すると・・・
bool型を使って、色々やってみましょう。
cout << (5 < 10) << endl;
cout << (5 > 10) << endl;
※ (5 < 10) という条件式は、演算子の優先順位を考慮して、()で括っています
このプログラムを実行すると
1
0
と表示されます。5<10は正しい数式です(10は5より大きい数字です)。ですので、tureを意味する1が表示されます。そして5>10は正しくない数式です(10の方が大きい数字のはずが、5の方が大きくなってしまってます)。なので、falseを意味する0が表示されます。
これ、本当に便利なの?
という方もいると思うので、もっと応用してコードを書いていきます。
もっと便利な使い方!
下のコードは、数字が入力され、同じ数字が隣り合っていると「YES」が表示されます。同じ数字が隣り合っていないと「NO」と表示されます。
例えば:1 2 3 4だと「NO」。1 2 2 3だと「YES」が表示されるということです。
このコードはかなり難しいものを書いています。意味は理解しなくて大丈夫ですが、こんな使い方ができる!ということを知ってもらえればOKです!
#include <bits/stdc++.h>
using namespace std;
int main() {
vector<int> data(5);
for (int i = 0; i < 5; i++) {
cin >> data.at(i);
}
bool ans = false;
for (int i = 0; i < 4; i++) {
if (data.at(i) == data.at(i + 1)) {
ans = true;
}
}
if (ans) {
cout << "YES" << endl;
}
else {
cout << "NO" << endl;
}
}
こんな感じで、コードが簡潔に書けるそうです。
イマイチぴんと来ない・・・
Me too です。
私も正直、便利さは分かっていません。この先、もしかしたらわかる時がくるかもしれませんね。
こんな感じで終わります。最後までご清覧ありがとうございました。
コメント