Code::Blocks で中国語が文字化けする問題の解決方法
Code::Blocks は私が個人的に気に入って使っている C/C++ の IDE ですが、以前から一つ問題にぶつかっていました。Code::Blocks では中国語がまったく使えず、文字列に中国語を入れられないどころか、コメントにも書けなかったのです。最初は本体のバグだと思っていましたが、ネットユーザーに教えてもらい、実はデフォルトのエンコーディングの問題だと分かりました! ...
Code::Blocks は私が個人的に気に入って使っている C/C++ の IDE ですが、以前から一つ問題にぶつかっていました。Code::Blocks では中国語がまったく使えず、文字列に中国語を入れられないどころか、コメントにも書けなかったのです。最初は本体のバグだと思っていましたが、ネットユーザーに教えてもらい、実はデフォルトのエンコーディングの問題だと分かりました! ...
並べ替えは、プログラミングを学ぶ人なら誰もが身につけるべき基本です。多くのデータ処理がこれに依存しているからです。多くのプログラミング言語では並べ替えの関数が組み込まれていて、開発者が手軽に使えるようになっています。しかし、C++ にも組み込みの並べ替え関数があることは、あまり知られていないのではないでしょうか! ...
これは先生が出した課題で、1A2B というゲームを作るものでした。この授業を受けるまで、1A2B は難しいものだと思っていました。授業が終わってみると、全然難しくありませんでした。私が引きこもりすぎて、1A2B のルールすら知らなかっただけでした…. ...
シャッフルアルゴリズムは、重複しない乱数を生成できるアルゴリズムの一つです。たとえば、10 個の乱数を生成し、そのすべてが「重複しない」必要があるとします。多くの人は、まず rand 関数で乱数を 1 つ取得して配列に格納し、配列にすでにある数字と比較する方法を思いつくと思います。この方法は簡単ですが、性能がとても悪くなります。ここで紹介するシャッフルアルゴリズムは、性能の面でその方法とは天と地ほどの差があります。シャッフルアルゴリズムの原理は実はとても単純で、まず配列に数字を入れ、その後に数字を打ち散らす(シャッフルする)というものです。 ...
C++ を学ぶ人の多くは、Dev C++ からスタートしています。VC++ は初心者にとって便利ではあるものの、標準的な C 言語(ANSI C)を学ぶことはできません。VC には .NET 専用の関数が多く含まれていて、ほかのコンパイラでコンパイルすると問題が起きてしまうからです。そのため、一般的な初心者は Dev C++ か Code::Blocks を使います。ただ非常に残念なことに、Dev C++ は数年間アップデートされておらず、新しい機能の多くもサポートされていません。一方、Code::Blocks の欠点は、中国語のサポートが弱いことです。コードに中国語が含まれていると問題が起きてしまい、コメントにも中国語を使えません。ここで紹介する wxDev C++ は、Dev C++ の特徴を受け継ぎつつ、新しい機能も追加されたソフトウェアです。Dev C++ のように問題だらけということがありません……。そのため、もし Dev C++ に慣れているなら、wxDev C++ を使うことをおすすめします。ほとんど Dev C++ と同じなので! 私は引き続き自分の Code::Blocks を使うことにします~ ...
この記事を書き終えたら、また「簡単すぎる」と言う人が出てくるでしょうね…… さて本題に入ります。今週、プログラミングの授業で先生からクラス全員に出された課題は、10進数を2進数に変換する方法でした。数学的に計算するなら難しくありません。割り算の余りを取っていく短除法を使えばいいだけです。 ...
これは、プログラムの先生が授業でループを教えたときに出してくれた例の一つです。問題そのものは難しくないと思いますが、ループの練習や反応速度のトレーニングにはとても向いています。それに、今の私は VB の腕がだいぶ落ちてしまいました……。そこで、C++ のコードを添付するので、ぜひ研究してみてください~ ...
一部のプログラミング言語では、^ 演算子を使って直接べき乗を計算できます。しかし、ある問題を解いているときに、C++ ではべき乗の計算に pow 関数を使う必要があることに気づきました。この記事では、2 つの関数を紹介します。1 つは べき乗を計算してくれる pow、もう 1 つは平方根を求めてくれる sqrt です。 ...
これはかなり簡単な問題で、数字や文字列を反転させるだけです。たとえば「linroex」と入力すると「xeornil」が、123 と入力すると 321 が出力されます。解き方は難しくありません。C++ では文字列を配列のようにアクセスできる特徴を利用して、入力文字列の長さをループの終了値に設定します。ループを 1 回まわすたびに、文字列 X の最後の文字を文字列 Y の先頭に移します。ループが終わったとき、反転が完了しています。 ...
PHP と C++ には、とても便利な型変換の方法があります。変換用の関数を長々と覚える必要はなく、変換先の型を括弧で囲んで値の前に付けるだけです。ただし、この方法には何か問題があるようです。ただ、その部分は私もよくわかっていません XD...