競技プログラミング用 知識集積所
cout
最終更新:
Bot(ページ名リンク)
-
view
雑な説明
標準出力(ディスプレイとか)に指定内容を出力する。
正式にはstd::coutであるが、例の一行を書いておけばcoutだけ書けばよい。
基本的な記述
数値(整数)型、文字型、文字列型
cout << x << endl;
出力後の改行が不要な場合はendlは不要。
数値(小数)型
cout << fixed << setprecision(8); cout << result << endl;
小数点以下8桁まで出力。
fixedをしなければ、全体で8桁まで出力。
fixedをしなければ、全体で8桁まで出力。
動的配列
n要素のvector<int>型で、全部改行する場合。
for (int i=0; i<n; i++) { cout << a.at(i) << endl; }
全部出すなら範囲for文を使ってこんな記述でも。
for (auto i : a) { cout << i << endl; }
n要素のvector<int>型で、空白区切りにして最後だけ改行する場合。
for (int i=0; i<n; i++) { cout << a.at(i); if (i!=n-1) { cout << " "; } } cout << endl;
二次元配列(B問題レベル)
大きさh×wのvector<vector<int>>型の場合。
for (int i=0; i<h; i++) { for (int j=0; j<w; j++) { cout << a.at(i).at(j); if (i!=w-1) { cout << " "; } } cout << endl; }
発展的な記述
いくつもまとめて出す
cout << x << " " << y << endl;
桁数を揃えて出す
cout << setfill('0') << right << setw(4) << x;
順に「足りない桁は0で埋める」「本体は右詰め」「4桁で」という指定。
時計形式で表示する方法は以下。
時計形式で表示する方法は以下。
cout << setfill('0') << right << setw(2) << h << ":"; cout << setfill('0') << right << setw(2) << m << endl;
注意点
最後に改行する
問題によっては、最後の改行がないとWAになる場合がある(APG4Bなど)。