検索結果 42 件

by 遊び人
4ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 幅優先探索で発生するメモリエラー
返信数: 2
閲覧数: 271

Re: 幅優先探索で発生するメモリエラー

next_x,yの存在を忘れて、謎の座標を渡しておりました・・・
まだまだ精進が足りないようです。
by 遊び人
4ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 幅優先探索で発生するメモリエラー
返信数: 2
閲覧数: 271

幅優先探索で発生するメモリエラー

https://dixq.net/forum/viewtopic.php?f=3&t=19902 過去にこちらでみけCAT様にご回答いただいたアルゴリズムを元に再び幅優先探索を作成したのですが、とあるところで「expression vector subscript out of range」のエラーが出てしまいます。 既にご回答いただいているので、自分の力で解決したかったのですが、一行一行デバッグをかけても、何故ここでエラーが発生しているのか私ではわかりませんでした・・・ またお力をお貸しください。 プレイヤーを追いかける敵のルートを探すのに使用しています。 OS:Windows10 コンパイ...
by 遊び人
8ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: cinで入力した数値を横並びにしたい
返信数: 16
閲覧数: 2838

Re: cinで入力した数値を横並びにしたい

std::coutというのは独特で、<<(左シフト演算子のオーバーロード)を利用して文字等を出力します。←まだ覚えなくていい 変数や文字列同士は << で区切ると覚えておいてください。 #include <iostream> int main() { int data1 = 0, data2 = 0; // 数値を入力 std::cin >> data1 >> data2; // 横並びに出力 std::cout << data1 << ", " << data2 << std::endl; return 0; } また、scanfのエラーですが、scanfやfscanfなどは、バッファオーバ...
by 遊び人
8ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: cinで入力した数値を横並びにしたい
返信数: 16
閲覧数: 2838

Re: cinで入力した数値を横並びにしたい

入力した数値を横並びに表示したいのでしょうか?
言葉だけでは理解しにくい部分もあるので、scanfで書いたプログラムをここに提示してくれれば、より正確な回答を得られると思いますよ。
by 遊び人
10ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: ラムダ式はいらない子?
返信数: 11
閲覧数: 1106

Re: ラムダ式はいらない子?

ファイルをオープンできなかった場合の処理について普通に失念しておりました・・・ハズカシイ

その記述は一番最初に思いつきましたが、下記のようにしていたため、エラーを出しまくって諦めてました・・
コントラスタで引数を取ることで、そのような書き方ができたんですね。

コード:

// 述語関数を関数オブジェクトで記述して、for_eachに渡す
	struct Output {
		void operator() (ofstream &o, int x) {
			of << x << ((x % 2) ? "は奇数です" : "は偶数です") << endl;
		}
	};
by 遊び人
10ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: ラムダ式はいらない子?
返信数: 11
閲覧数: 1106

Re: ラムダ式はいらない子?

一見何が変わるのかわかりませんでしたが、いざ作ってみるとあ~ら不思議。なかなかうまくいかない... ラムダ式では、キャプチャの機能を使用することで簡単に外部の変数などにアクセスできますが、関数オブジェクト等の場合、for_eachなどのテンプレートでは直接関数の引数を記述することができないため、非常に面倒ったんですね。 ラムダ式の他にも様々な方法がありましたが、どれも非常に分かりづらい&面倒くさいでラムダ式を使わない理由がないと思うほどです。 当たり前のように利用していたキャプチャですが、なくなって初めてその大切さに気付きました。 #include <iostream> #include <f...
by 遊び人
10ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: ラムダ式はいらない子?
返信数: 11
閲覧数: 1106

Re: ラムダ式はいらない子?

なるほど・・・関数型プログラミングを学ぶことで、より理解が深められそうですね!
本気でラムダ式を利用しようとなると、プログラミングの考え方から見直さないと駄目みたいです(笑)

見やすさ、バグの生まれにくさという点で関数型のほうが圧倒的に優れているように見えますし、コーディング時間も短縮できそうで、関数型が流行るのも納得という感じです。

全くの余談ですが、関数型よりも命令型のほうが「俺今めっちゃプログラミングしてる」感はありあすね。
by 遊び人
10ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: ラムダ式はいらない子?
返信数: 11
閲覧数: 1106

Re: ラムダ式はいらない子?

変数のように扱える関数という点も面白いですね
by 遊び人
10ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: ラムダ式はいらない子?
返信数: 11
閲覧数: 1106

Re: ラムダ式はいらない子?

なるほど、確かに短い関数の場合は、外部に関数を作って・・・とするのが少し面倒だとは思っていました。
よくよく考えてみれば、ラムダ式のような「別に無くても作れるけどあると便利だよね」というような機能は他にもたくさんありましたね。
言ってしまえばテンプレートもそれにあたりますし。
by 遊び人
10ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: ラムダ式はいらない子?
返信数: 11
閲覧数: 1106

ラムダ式はいらない子?

お世話になっております。 C++11にて、ラムダ式なるものが追加されました。 「猫でもわかるC++プログラミング」には、述語関数で利用するとちょっぴり便利などと言うようなことがかかれていますが、正直私ほどのレベルではこれだけのためにわざわざラムダ式を追加する必要があったのかな?と感じてしまいます。わざわざ追加されているということは、何か有用な使い方があるはず! 是非ご教授ください。 #include <iostream> #include <algorithm> #include <vector> #include <windows.h> using namespace std; int ma...
by 遊び人
1年前
フォーラム: C言語何でも質問掲示板
トピック: 未解決の外部シンボル(T_ChangeNum(int))が参照されました
返信数: 5
閲覧数: 893

Re: 未解決の外部シンボル(T_ChangeNum(int))が参照されました

大きなクラスを作る際(今回はテスト用なので小さいですが)、ごちゃごちゃして見づらくなってしまうと考え、ファイルを分割しておりました。
やはり同じファイルにまとめて書いた方がよさそうです、ありがとうございました。
by 遊び人
1年前
フォーラム: C言語何でも質問掲示板
トピック: 未解決の外部シンボル(T_ChangeNum(int))が参照されました
返信数: 5
閲覧数: 893

Re: 未解決の外部シンボル(T_ChangeNum(int))が参照されました

inlineはヘッダファイルのみで実装するのですね、失念しておりました。
しかしこれでは、若干動作が遅くなってしまうのではないでしょうか。
by 遊び人
1年前
フォーラム: C言語何でも質問掲示板
トピック: 未解決の外部シンボル(T_ChangeNum(int))が参照されました
返信数: 5
閲覧数: 893

未解決の外部シンボル(T_ChangeNum(int))が参照されました

以下のようにプロジェクトを分割した際、test.cppを読み取ってくれずタイトルにあるエラーがでてしまいました。 どのようにすれば正常に動作するのでしょうか? //main.cpp #include <iostream> #include "test.h" using namespace std; int main() { Test test; test.T_ChangeNum(4); cout << test.T_GiveNum() << endl; return 0; } // test.h #pragma once #include <iostream> class Test { pri...
by 遊び人
1年前
フォーラム: C言語何でも質問掲示板
トピック: Wordに文字列を書き込む際、文字のフォントとサイズを指定したい
返信数: 2
閲覧数: 764

Re: Wordに文字列を書き込む際、文字のフォントとサイズを指定したい

word内ではクリック数回でできてしまいますが、外からは難しいのですね・・・
今は潔く諦めます(´・ω・`)
by 遊び人
1年前
フォーラム: C言語何でも質問掲示板
トピック: Wordに文字列を書き込む際、文字のフォントとサイズを指定したい
返信数: 2
閲覧数: 764

Wordに文字列を書き込む際、文字のフォントとサイズを指定したい

お世話になっております。タイトルの通りです。 Wordでは文字のフォントとサイズを変更することが可能です。 それをプログラムの中で指定したいのですが、可能でしょうか? 今回は、文字フォントを「MS 明朝」に、文字サイズを14に。 使用しているオフィスソフトはWPS Writerです。 開発環境 コンパイラ:Visual Studio 2017 C++, OS:Windows10 #include <iostream> #include <string> #include <fstream> using namespace std; bool ExportToFile(const char *s...
by 遊び人
1年前
フォーラム: C言語何でも質問掲示板
トピック: 素材を実行ファイルとは別のフォルダに保存したい
返信数: 2
閲覧数: 313

Re: 素材を実行ファイルとは別のフォルダに保存したい

Rei様、ご返答ありがとうございました。
無事解決できました。
詳細な説明を書いてくださりとても助かりました。
これでぐちゃぐちゃになっているファイルの中からexeファイルを1分以上探し続けるという事態がなくなります。
by 遊び人
1年前
フォーラム: C言語何でも質問掲示板
トピック: 素材を実行ファイルとは別のフォルダに保存したい
返信数: 2
閲覧数: 313

素材を実行ファイルとは別のフォルダに保存したい

お世話になっております。
DXライブラリにてゲーム等を作成する際、実行ファイル(exe)とゲームに使用する素材(画像、音楽等)が同じフォルダに入っていなければ実行ファイルが読み取ってくれません。
使用する素材が増えるとフォルダ内がごちゃごちゃして見にくくなってしまいますので、以下の画像のように分割したいのですが、可能でしょうか?

可能ならば方法を教えて下さると助かります。
開発環境はVS2017C++、Windows10です。
by 遊び人
1年前
フォーラム: C言語何でも質問掲示板
トピック: 複雑な障害物を迂回してゴールにたどり着きたい
返信数: 4
閲覧数: 579

Re: 複雑な障害物を迂回してゴールにたどり着きたい

再帰を用いると物凄くシンプルになりますね。
CanPassFieldの最適化もありがとうございます。
やっぱりswitchで長々と書くのは綺麗ではないですね。
by 遊び人
1年前
フォーラム: C言語何でも質問掲示板
トピック: 複雑な障害物を迂回してゴールにたどり着きたい
返信数: 4
閲覧数: 579

Re: 複雑な障害物を迂回してゴールにたどり着きたい

無事解決できました、ありがとうございます!
分かりやすくコメントを付けてくださいありがとうございます。
本格的なアルゴリズムというものを見たことがなかったので衝撃的でした。
by 遊び人
1年前
フォーラム: C言語何でも質問掲示板
トピック: 複雑な障害物を迂回してゴールにたどり着きたい
返信数: 4
閲覧数: 579

複雑な障害物を迂回してゴールにたどり着きたい

お世話になっております。 ゲームのAI(Artificial incompetence)を作りたいと考えているのですが、目的地への移動がうまく出来ずにいます。 先に目的地へのルートを見つけた後でそれに沿って移動するという予定なのですが、 複雑な障害物がある場合、どのようなアルゴリズムを組めば良いのかわかりません(´・ω・`) ご助言お願い致します。 プレイヤー(スタート地点)は上下左右に一マスずつ移動できます。 #include <iostream> using namespace std; constexpr int FIELD_SIZE = 6; void Display(int fiel...
by 遊び人
1年前
フォーラム: C言語何でも質問掲示板
トピック: 宣言の順番について(c++)
返信数: 3
閲覧数: 679

Re: 宣言の順番について(c++)

回答ありがとうございます。
変数等の命名規則やconstexpr intなどを使うべきなど、参考書にはあまり書かれていないので勉強になります。
by 遊び人
1年前
フォーラム: C言語何でも質問掲示板
トピック: 宣言の順番について(c++)
返信数: 3
閲覧数: 679

宣言の順番について(c++)

お世話になっております。 プロジェクトを分割しないことと仮定して、 現在私は、クラスや関数の宣言の順番を[define]→[include]→[関数の宣言]→[グローバル変数の宣言] →[クラスや構造体の宣言]→[main関数]としています。 この順番が正しいのか間違っているのか分からないので、参考までにお伺いしたいのですが、 皆様はどうなさっておりますか? こうした方が良いなど意見下さると助かります。 また、現在変数、クラス、関数の名前の付け方が全て一緒なのですが、皆様は区別してらっしゃいますか? #define aaaa 114514 #include <iostream> using n...
by 遊び人
1年前
フォーラム: C言語何でも質問掲示板
トピック: コントラスタに引数があるクラスの動的確保
返信数: 8
閲覧数: 2314

Re: コントラスタに引数があるクラスの動的確保

デフォルトコントラスタを作らなくてもできる方法があったんですね!
かずまさんのコードが綺麗で個人的に気に入りました。
ポインタって奥が深いですね。
by 遊び人
1年前
フォーラム: C言語何でも質問掲示板
トピック: コントラスタに引数があるクラスの動的確保
返信数: 8
閲覧数: 2314

Re: コントラスタに引数があるクラスの動的確保

どちらにしてもデフォルトコントラスタは作らなければならないようですね・・・ どちらを使用するか迷いますが 以後plaement newを使用させていただきます。 皆さんありがとうございました! #include <iostream> #include <random> #include <new> using namespace std; class A { private: int a; public: A() : a(0) { } A(int num) : a(num) { } void show_a() { cout << a << endl; } }; int main() { int...
by 遊び人
1年前
フォーラム: C言語何でも質問掲示板
トピック: コントラスタに引数があるクラスの動的確保
返信数: 8
閲覧数: 2314

Re: コントラスタに引数があるクラスの動的確保

回答ありがとうございます。
確かにそのようにすればプログラムは動きますね!
動的確保の場合コントラスタに引数があると難しいですか(´・ω・`)
by 遊び人
1年前
フォーラム: C言語何でも質問掲示板
トピック: コントラスタに引数があるクラスの動的確保
返信数: 8
閲覧数: 2314

コントラスタに引数があるクラスの動的確保

お世話になっております。 例えば以下のようなプログラムがあったとき、21行目にてクラスの動的確保を行っているのですが、コントラスタに引数が必要な場合、 以下のような書き方などではコンパイルエラーになってしまいます。 どのように書けばエラーにならないのかお教えください(初期化は何行になっても構いません) #include <iostream> #include <random> using namespace std; class A { private: int a; public: A(int num) : a(num) { } void show_a() { cout << a << en...
by 遊び人
1年前
フォーラム: C言語何でも質問掲示板
トピック: フレンドクラスからxの値が変更できない
返信数: 4
閲覧数: 670

Re: フレンドクラスからxの値が変更できない

皆様分かりやすい説明をありがとうございます。
フレンドクラスでも変数の寿命が適応するのですね・・・
とても良い勉強になりました。
by 遊び人
1年前
フォーラム: C言語何でも質問掲示板
トピック: フレンドクラスからxの値が変更できない
返信数: 4
閲覧数: 670

Re: フレンドクラスからxの値が変更できない

change_Axの引数を参照渡しにすることで値を変更することができました。ありがとうございます。 void change_Ax(A &name, int num) { name.x = num; } しかし「猫でもわかるC++プログラミング」という書籍のP299では、参照渡しではなく値渡しでxの値を変更できると書いてあります。これはどういう意味でしょうか? class A { int x; public: A() : x(10) { } friend class B; }; class B { public: // フレンドクラスなので、xの値を変更できる void change_x(A a...
by 遊び人
1年前
フォーラム: C言語何でも質問掲示板
トピック: クラスのメンバ配列の初期化
返信数: 5
閲覧数: 1084

Re: クラスのメンバ配列の初期化

色々な方法があるのですね。 A() : test{} { }のやり方ではたくさんの要素を初期化するのが面倒くさいのでfor文かfillを今後使用させていただきます。 ご意見ありがとうございました。 #include <iostream> using namespace std; class A { private: int test[10]; public: A() { //コントラスタ for (int i = 0; i < 10; i++) { test[i] = 0; } } int give_a(int num) const { return test[num]; } }; int m...
by 遊び人
1年前
フォーラム: C言語何でも質問掲示板
トピック: フレンドクラスからxの値が変更できない
返信数: 4
閲覧数: 670

フレンドクラスからxの値が変更できない

以下のプログラムにて、classAのフレンドクラスであるclassBはclassAのxを参照することはできるのですが、 xの値を変更することができません。 これは元々フレンドクラスから値を変更することができないのか、 何か記述忘れがあるのか、 それともclassBはまだ完全にclassAと友達になれていないのか、 教えてください。 OS:Windows10 コンパイラ:Visal Studio 2017 #include <iostream> using namespace std; class A { private: int x; public: A() : x(10) { } void ...

詳細検索ページへ移動する