見出し画像

Aizu Online Judge プログラミング入門 2_C

この項目は苦労しました。AtCoderのソート関数でやったようにしたつもりがうまくいかなかったので、ChatGPTも活用したりして、どうにかこうにかacceptedに辿り着きました。


💻気づき その1:C++にもバージョンがある

 AtCoderとAOJでC++のバージョンが異なっていたため、AOJのコースで、AtCoderで学習したコードを提出してもエラーになったようです。ChatGPTの説明で判明しました。

💻気づき その2:Presentation errorが出る一般的な原因が存在する

 Presentation errorが何度が出たのですが、今回は、結局、最後の数字の後にはスペースを出力しないようにすることが必要でした。

*以下、ChatGPTによる修正コードと説明です。

「for (int i = 0; i < vec.size(); i++) {
 cout << vec.at(i); // 最後の数字の後にはスペースを出力しない
 if (i < vec.size() - 1) {
  cout << " ";
 }
}
cout << endl; // 改行を出力する

これにより、数字と数字の間にスペースが挿入され、最後の数字の後にはスペースが出力されないようになります。また、cout << endl; で最後に改行を追加しています。これにより、プログラムの出力が期待される形式に近づくはずです。」

また、presentation errorについても、ChatGPTより、次の説明を得ることができました。

「"Presentation Error" は、出力が期待されるものと異なる場合に発生するエラーです。このエラーは、プログラムが出力を正しく生成しているが、出力が期待される形式になっていない場合に発生します。

一般的に、このエラーは余分なスペースや改行などが期待される出力に含まれている場合に発生します。修正するには、期待される出力の形式に合わせて出力を整形する必要があります。」

 Presentation errorは、今までも何度も出ていましたが、これからは、今回のような修正を入れてみることができそうです。

💻気づき その3:ChatGPTには何度かプロンプトを入れて試すことが大事

 今回、一度でChatGPTから回答を得ることができたわけではありませんでした。細かく分断、掘り下げて、プロンプトを出すことで、少しずつ得たい回答に近づけることがわかりました。

 またまた勉強になりました。



この記事が気に入ったらサポートをしてみませんか?