検索結果 13 件

by 絵にかいた餅
1年前
フォーラム: C言語何でも質問掲示板
トピック: 数値を大きくすると動かなくなる
返信数: 8
閲覧数: 12127

Re: 数値を大きくすると動かなくなる

コンパイルは通っているけど何も結果が出ずに終了するといった感じです。(staticをつけない場合)
一定の数というのは構造体に二次元配列を定義していて、構造体の数は100個、二次元配列の大きさは4*10で、表のテーブルとしては4000です。ただ、別の配列に一つ一つ置き換えていたり、ループ回数もかなり使ってはいます。
by 絵にかいた餅
1年前
フォーラム: C言語何でも質問掲示板
トピック: 数値を大きくすると動かなくなる
返信数: 8
閲覧数: 12127

Re: 数値を大きくすると動かなくなる

関数名を間違えてるといったことはなかったです。 エラーメッセージは ”外部シンボル"public:static int(*shift::nurse_work)[30])"(?nurse_work@shift@@2PAY0BO@HA)は未解決です”となっています。下のURLからするとビルドができなかったのでコンパイルに何か原因ができた感じでですかね? https://learn.microsoft.com/ja-jp/cpp/error-messages/tool-errors/linker-tools-error-lnk2001?f1url=%3FappId%3DDev16IDEF1%26l%...
by 絵にかいた餅
1年前
フォーラム: C言語何でも質問掲示板
トピック: 数値を大きくすると動かなくなる
返信数: 8
閲覧数: 12127

Re: 数値を大きくすると動かなくなる

実はそれすでに試したのですが”外部シンボルが未解決です”というエラーが出てしまいます。
by 絵にかいた餅
1年前
フォーラム: C言語何でも質問掲示板
トピック: 数値を大きくすると動かなくなる
返信数: 8
閲覧数: 12127

数値を大きくすると動かなくなる

現在GAを用いたナーススケジューリング問題について勉強しています。そこでは二次元配列を用いるのですが、配列の要素数を大きくすると動かなくなってしまいます。ある一定の数までは動くためプログラミング自体はできているとおもうのですが。。 いろいろ自分なりに考えて改良をしていったのですが、そもそも動かなくなってしまったりと、泥沼にはまってしまいます。 自分の考えとしてはメモリを使いすぎてしまっているのかなと思っているのですが、対処法がわかりません。 皆さんの考えをお聞きしたいです。よろしくお願いします。 (コードを載せようとしましたが500行を超えてしまっているため、お見苦しいかなと思い原因についてお...
by 絵にかいた餅
1年前
フォーラム: C言語何でも質問掲示板
トピック: エラーについて
返信数: 1
閲覧数: 4523

エラーについて

添付ファイルのエラーが出てきてしまうときはどのようなことが原因なのでしょう。プログラミング初心者のためわかりやすく教えていただけるとありがたいです。
by 絵にかいた餅
1年前
フォーラム: C言語何でも質問掲示板
トピック: 遺伝的アルゴリズムのトーナメント選択について
返信数: 6
閲覧数: 5980

Re: 遺伝的アルゴリズムのトーナメント選択について

申し訳ありません!こちら解決しました!!ループカウンタで同じ文字を使ってたことに問題があったみたいです。返信くださった方ありがとうございました。
by 絵にかいた餅
1年前
フォーラム: C言語何でも質問掲示板
トピック: 遺伝的アルゴリズムのトーナメント選択について
返信数: 6
閲覧数: 5980

Re: 遺伝的アルゴリズムのトーナメント選択について

未初期化ということはgene_new_chromに値がしっかり入ってないということでしょうか?デバックをしてみるとしっかり入っているように思えるのですが。
by 絵にかいた餅
1年前
フォーラム: C言語何でも質問掲示板
トピック: 遺伝的アルゴリズムのトーナメント選択について
返信数: 6
閲覧数: 5980

Re: 遺伝的アルゴリズムのトーナメント選択について

言葉足らずで申し訳ありません。そうです本来ならばここに0,1,2,3の数字が入らなければいけません。ここでしたいことは、前半の出力結果にあるシフト表が個体数N(今だと4個)に対してトーナメントサイズs個(今だと2個)ランダムに選択されたシフト表を評価値配列vの値の大きさ順にシフト表と評価値を並び変えたいのですが。そこのトーナメント選択がうまくいってません。(よく見ると評価値の値もすべて0になっています。)main関数に載っているinit_value(gene_chrom, v)とcreateInitialvalue関数を追加で書いときます。 void createInitialvalue(in...
by 絵にかいた餅
1年前
フォーラム: C言語何でも質問掲示板
トピック: 遺伝的アルゴリズムのトーナメント選択について
返信数: 6
閲覧数: 5980

遺伝的アルゴリズムのトーナメント選択について

閲覧ありがとうございます。現在自分は遺伝的アルゴリズムの勉強をしています。その中でトーナメント選択で今詰まっております。ナーススケジューリング問題です。init_value(gene_chrom, v)は評価の値を格納するものでしっかりと動いているのは確認できました。見やすいようにトーナメント選択のみに関係するコードしか書いておりません。 出力結果をみるとエリート選択は問題ないと思われます。デバックで値の動き等を見てみましたが原因が見つかりません。わかる方がいましたらご助言をいただけると嬉しいです。 const int G_number = 4, G_length = 10;//遺伝子の数、長...
by 絵にかいた餅
1年前
フォーラム: C言語何でも質問掲示板
トピック: 乱数関数について
返信数: 5
閲覧数: 5997

Re: 乱数関数について

ご丁寧にありがとうございます。理解できました。
by 絵にかいた餅
1年前
フォーラム: C言語何でも質問掲示板
トピック: 乱数関数について
返信数: 5
閲覧数: 5997

Re: 乱数関数について

お手数ですがなぜsrandをサブルーチン内にいれてはいけないのか教えていただけると幸いです。
by 絵にかいた餅
1年前
フォーラム: C言語何でも質問掲示板
トピック: 乱数関数について
返信数: 5
閲覧数: 5997

Re: 乱数関数について

ご回答ありがとうございました。解決しました。
by 絵にかいた餅
1年前
フォーラム: C言語何でも質問掲示板
トピック: 乱数関数について
返信数: 5
閲覧数: 5997

乱数関数について

乱数関数で同じ値が出てしまいます。デバックをすると値がしっかり変わっているのですが出力すると同じ数字が出てしまいます。わかるかたいたら教えてください。

コード:

int nrand(int x) {
	int y;
	srand((unsigned int)time(NULL));
	y = rand() % x + 1;
	return y;
}

int main() {
	int x;
	int i;
	for (i = 0; i < 100; i++) {
		x = nrand(6);
		printf("%d\n", x);
	}

	return 0;
}

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