検索結果 6632 件

by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: C言語 ロシアンルーレットについて
返信数: 4
閲覧数: 5555

Re: C言語 ロシアンルーレットについて

そのままC言語で書いてしまうと Dai さんがやることが無くなってしまい、つまらないだろうから、Python で実装してみました。 参考になれば幸いです。 import random # 弾を入れる枠の数 numBulletSpaces = 6 # 弾を入れる枠 cylinder = [False for _ in range(numBulletSpaces)] # 1~6の乱数で弾を入れる位置を決定する bulletPosition = random.randint(1, numBulletSpaces) # 決定した位置に弾を入れる cylinder[bulletPosition - 1]...
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: C言語のエンキューの問題の答えと合わない
返信数: 4
閲覧数: 7681

Re: C言語のエンキューの問題の答えと合わない

enqueue 関数で10個の要素を書き換えているので、これまでにエンキューしたデータが破壊されていますね。
enqueue 関数でするべきことは
1. queue->rear が指している要素1個だけを与えられた value に更新する
2. queue->rear の値を更新する
です。
また、38行目に全角スペースがあるため、このままでは実行できない環境があります。
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: ヒープソートについて
返信数: 9
閲覧数: 10891

Re: ヒープソートについて

P387 さんが書きました:
1年前
今、実行結果が何も出ないのはヒープから要素を取り出す処理が無いからであり、その処理を付け加える必要があるということですかね?
P387 様の #4 のプログラムは、コンパイルエラーになるため、実行結果は出ません。
自分が修正した #5 のプログラムは、実行結果が出るので、この質問の前提を満たしません。
よって、この質問の答えは「いいえ」(実行結果が出ないのはコンパイルエラーになるためであり、ヒープから要素を取り出す処理が無いからではない) となるでしょう。
別のプログラムについての質問であれば、そのプログラムを提示してください。
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: ヒープソートについて
返信数: 9
閲覧数: 10891

Re: ヒープソートについて

とりあえず実行できるようにしてみました。 #include <stdio.h> void appendNode(int); int h[10]={0,12,23,34,45,56,67,-1,-1,-1}; int n=6; /* main関数の戻り値intと引数voidを明示する */ int main(void) { int i,x; for(i=0;i<=2;i++){ /* printfの引数を入れる (空文字列だと警告が出た) */ printf("%s", ""); scanf("%d",&x); appendNode(x); } /* H[1]~H[9]を表示したいので、0からで...
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: ヒープソートについて
返信数: 9
閲覧数: 10891

Re: ヒープソートについて

P387 さんが書きました:
1年前
大学の課題で分からなかったので質問させていただきました。
これだけでは何が分からないのか (少なくとも自分には) わかりません。
P387 さんが書きました:
1年前
自分でもヒントや、他のサイトを元にプログラムを書いてみたのですが上手く実行出来ず悩んでいます。
そのプログラムを提示していただけますか?
ソースコードを提示する際は、BBCodeが有効な(無効にしない)状態で、
BBCodeのcodeタグの開始タグと終了タグの組(開始タグが先)で囲んでいただけると、
見やすくてありがたいです。
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: 大学の乱数についての課題
返信数: 8
閲覧数: 10585

Re: 大学の乱数についての課題

実行結果がずっと200という同じ値にしかなりません。どこを改善すればよいか教えていただきたいです。 ・scanfs という関数はC言語の標準ライブラリに無いので、scanfに置換する ・指定された書式に合った入力を与える ことで、200でない値を出力させることができました。 改善するべき点は与える入力であると予想します。 また、scanfの戻り値により、期待する数の入力を読み込めたかをチェックするべきです。 https://wandbox.org/permlink/8K0G5iQN7f5A8TTi boy = 0; girl = 0; これらの変数を0で初期化している箇所、 ループの「中」で...
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: 大学の乱数についての課題
返信数: 8
閲覧数: 10585

Re: 大学の乱数についての課題

とりあえずPythonで自分で実装してみました。 import random # 確率pでTrue、1-pでFalseを返す def randBool(p): return random.random() < p # 男子の生まれる確率がpのときのシミュレーションを1回行い、子供の数を返す def simulate(p): numChildren = 1 firstChild = randBool(p) while True: numChildren += 1 newChild = randBool(p) if firstChild == newChild: return numChildre...
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: printfの有無によるsegmentation faultの発生について
返信数: 7
閲覧数: 9324

Re: printfの有無によるsegmentation faultの発生について

未初期化の変数 str の値を fscanf 関数に渡しているのがダメですね。
事前に文字列を読み込むための領域を確保しておかなければなりません。

c - Crash or "segmentation fault" when data is copied/scanned/read to an uninitialized pointer - Stack Overflow
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: カンマで区切られた文字を整数に変換したい
返信数: 13
閲覧数: 9726

Re: カンマで区切られた文字を整数に変換したい

ポインタというものは,少しハードルが高くポインタを用いないで解決できるプログラムはできないでしょうか? C言語では、式中の配列はsizeofとともに用いるなどの例外を除いて先頭要素へのポインタに変換されます。 X[Y] は、*((X) + (Y)) という意味の糖衣構文(シンタックスシュガー)です。 したがって、C言語ではポインタを用いずに配列の要素にアクセスするのは無理であると考えられます。 すなわち、ポインタを用いるのを回避するためにはC言語以外を使うのがいいでしょう。 Rubyで実装してみました。 dat = [] dat[0]='1' dat[1]=',' dat[2]='2' da...
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: カンマで区切られた文字を整数に変換したい
返信数: 13
閲覧数: 9726

Re: カンマで区切られた文字を整数に変換したい

こんな感じでどうでしょうか? 「感じ」の意味が不明確ですが、このプログラムはそのままでは条件を満たしておらず、ダメですね。 実行結果 -------------------- コンマありのデータ -------------------- dat[0] = 1 dat[1] = , dat[2] = 2 dat[3] = 3 dat[4] = , dat[5] = 4 dat[6] = 5 dat[7] = 6 dat[8] = , -------------------- コンマなしのデータ -------------------- list[0] = 1 list[1] = 2 list[...
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: カンマで区切られた文字を整数に変換したい
返信数: 13
閲覧数: 9726

Re: カンマで区切られた文字を整数に変換したい

例えば、以下のようにするとできるでしょう。 配列の要素を前から順番に見ていきます。 ・要素が数字の場合は、変換結果を更新します。(要求に応じて新しい変換結果を作成します) ・要素がカンマの場合は、新しい変換結果の作成を要求するフラグを立てます。 Pythonで実装してみました。 dat = list(range(10)) dat[0]='1' dat[1]=',' dat[2]='2' dat[3]='3' dat[4]=',' dat[5]='4' dat[6]='5' dat[7]='6' dat[8]=',' dat[9]='\0' requestNewElement = True d ...
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: C言語 ソートについて
返信数: 5
閲覧数: 7906

Re: C言語 ソートについて

ソースコードを提示する際は、BBCodeが有効な(無効にしない)状態で、 BBCodeのcodeタグの開始タグと終了タグの組(開始タグが先)で囲んでいただける と、 見やすくてありがたいです。 例えば、 #include <stdbool.h> #include <stdio.h> void swap(char *a, char *b) { } bool is_at(char c) { } void justify(char line[], int n) { puts(" tanqkun@@@@@@@@@@@"); line[0] = '\0'; #define n 0 } int main(...
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: 遺伝的アルゴリズムのトーナメント選択について
返信数: 6
閲覧数: 5861

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

-858993460 = 0xCCCCCCCC

未初期化の値を参照している可能性がありますね。

デバッグ版の未初期化メモリパターン - Qiita
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: 配列
返信数: 2
閲覧数: 4816

Re: 配列

C言語なら

コード:

memmove(&ranking[1], &ranking[0], sizeof(ranking[0]) * 10);
のような感じでできるでしょう。
Man page of MEMMOVE
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: 組み合わせ?のプログラムの考え方が分かりません!!
返信数: 14
閲覧数: 8322

Re: 組み合わせ?のプログラムの考え方が分かりません!!

再帰で、 ・今考えている長さを切り出し、また同じ長さについて考える ・今考えている長さは切り出さず、次の長さについて考える をするといいと思います。 Python で実装してみました。 def compute(sourceLength, targetLengthList): ans = [] # 全ての切り取る長さの候補を試し終わった if len(targetLengthList) == 0: return [[]] # 今の切り取る長さの候補を試す if targetLengthList[0] <= sourceLength: # この長さを切り取った後のパターンを生成する puttern...
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: 配列での文字列の扱いについて
返信数: 3
閲覧数: 5231

Re: 配列での文字列の扱いについて

エラーとは直接関係無さそうですが、2点気になるところがありました。 scanf() の書式 %s は char* 型のデータを要求するので、配列へのポインタ &ans (char(*)[100] 型) ではなく配列の戦闘要素へのポインタ ans (これは配列だが、sizeof などの例外を除いて式中では先頭要素へのポインタに変換される) を渡すべきである log を「あなたの回答」というメッセージとともに出力しているが、log には入力されたデータではなくあらかじめ用意された正解のデータが格納されている (あえて一般的でない正解にして意地悪をするなど) クイズの正解をどうするかは自由だと思うけ...
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: 文字列を交互に
返信数: 11
閲覧数: 10933

Re: 文字列を交互に

幸尚 さんが書きました:
1年前
もっと噛み砕いて説明すると
① iに0を設定する。
② iが10よりも小さいかどうかチェックする。
③iに1を加算する。
⑤printf()でiの値を表示する。
⑥②の処理に戻る。
これは間違っています。
③と⑤の順番が逆です。
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: 何故、引数にconstがついているのか
返信数: 2
閲覧数: 8260

Re: 何故、引数にconstがついているのか

ソースコードを提示する際は、BBCodeが有効な(無効にしない)状態で、
BBCodeのcodeタグの開始タグと終了タグの組(開始タグが先)で囲んでいただけると、
見やすくてありがたいです。
box さんが書きました:
1年前
s2の値を変更したら(つまりs2に何かを代入したら)ダメだよ、警告を出すよ
てなくらいの意味です。
違います。
この場合、s2「が指しているもの」の値を変更したらダメ、という意味です。
実際、s2++ でs2の値は変更されていますよね。
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: 列車走行位置を完成させたいです。
返信数: 1
閲覧数: 4807

Re: 列車走行位置を完成させたいです。

ソースコードを提示する際は、BBCodeが有効な(無効にしない)状態で、 BBCodeのcodeタグの開始タグと終了タグの組(開始タグが先)で囲んでいただける と、 見やすくてありがたいです。 [] ではなく <> を使用した <code> や </code> は、BBCodeのcodeタグではありません。 まず1案目として以下を考案しました。 これでは、return weekdayFlag; の時点でこの関数の実行が終了するため、 hoodayFlag の情報は返りません。 また、この関数は常に true を返します。 2案目として、 (中略) と書きましたが、これは画面が真っ青になりました...
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: クリック回数を利用したループ
返信数: 4
閲覧数: 7784

Re: クリック回数を利用したループ

まりも。 さんが書きました:
1年前
同じ問題をfor文の書き方を変えて書くことはできますでしょうか。
できます。
例えば、単純な書き換えだと

コード:

	int a = 0;
	for (; ;) 
	{
		if (!(a < clickCount && a < HISTORY_MAX)) break;
		CGraphicsUtilities::RenderCircle(hist_mx[a], hist_my[a], 10, MOF_XRGB(0, 255, 0));
		a++;
	}
とできます。
何か具体的な条件はありますか?
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: クリック回数を利用したループ
返信数: 4
閲覧数: 7784

Re: クリック回数を利用したループ

クリックした座標は、hist_mx および hist_my の0番目以上 clickCount 番目未満の要素に入っているはずなので、

コード:

	int a;
	for (a = 0; a < clickCount && a < HISTORY_MAX; a++) 
	{
		CGraphicsUtilities::RenderCircle(hist_mx[a], hist_my[a], 10, MOF_XRGB(0, 255, 0));
	}
とするといいかもしれません。
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: 乱数関数について
返信数: 5
閲覧数: 5860

Re: 乱数関数について

srand関数 は、引数の値に基づいてこの後出す乱数の系列を決定します。 この値として秒単位の時刻を与えると、処理は通常1秒に100万回以上実行されるため、 高い確率で毎回同じ値が引数となり、その結果毎回同じ乱数の系列が用いられます。 よって、同じ系列なので、その最初の値も同じとなります。 なお、「サブルーチン内にいれてはいけない」というのは不正確です。 1度だけ実行されるようにする仕組みを入れることで、srandをサブルーチン内に入れても毎回初期化せずに乱数を利用することができます。 int nrand(int x) { static int initialized = 0; int y;...
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: ポインタを用いた配列要素数の調べ方
返信数: 9
閲覧数: 8005

Re: ポインタを用いた配列要素数の調べ方

さらに、「helloからcount要素進んだ位置の値を読んでチェックする」処理の前に「countの値を増やす」処理を置いてしまうと、0文字の文字列 (最初の要素がヌル文字) が与えられた時にヌル文字を見逃してしまうので、よくないですね。

「要素数」ということは、カウントにはヌル文字の分も含めるのでしょうか?
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: ポインタを用いた配列要素数の調べ方
返信数: 9
閲覧数: 8005

Re: ポインタを用いた配列要素数の調べ方

ソースコードを提示する際は、BBCodeが有効な(無効にしない)状態で、 BBCodeのcodeタグの開始タグと終了タグの組(開始タグが先)で囲んでいただける と、 見やすくてありがたいです。 strではなくhelloではないですか? あと*(str + count);では値を加算していることになります。 アドレスを進めなくてはなりません。 str を hello に置き換えれば、hello + count でポインタ hello から count 要素進んだ位置を参照し、 *() でその位置の値を読んでいるので、正しいです。 あとは、読んだ値がヌル文字かをチェックするなどの処理があると良さそ...
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: scanfでのエラー
返信数: 3
閲覧数: 7682

Re: scanfでのエラー

もしくは、1以上3以下でループし、添字を[i​]のかわりに[i-1]にしてもいいです。
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: ポインタ アドレス
返信数: 6
閲覧数: 6081

Re: ポインタ アドレス

そのままのコードは出したく無いので肝心の出力部分だけわかるようなC言語のコードを用意すると、 #include <stdio.h> int main(void) { char a = 'A'; printf("1: %c\n", a); printf("2: %.1s\n", &a); printf("3: %p\n", (void*)&a); printf("4: %p\n", (void*)&a); return 0; } という感じでしょうか? 「第2引数」という条件があるので、第3引数でデータを指定してはいけないことに注意ですね。 なお、「C言語」という条件は無いことに注意。「C言語以...
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: 課題について
返信数: 2
閲覧数: 5156

Re: 課題について

何をお願いするのですか?
課題の丸投げは禁止です。
投稿は、フォーラムルールを読み、それに沿ったものをお願いします。
オフトピック
例えば「フォーラムルールを読み、それに沿った質問をお願いします。」と書いてしまうと、
質問なんか無い投稿者に質問することを要求して余計な負担をかけてしまうかもしれない…
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: Segmentation fault
返信数: 2
閲覧数: 4959

Re: Segmentation fault

printf("デバッグ"); による出力がバッファに残ったまま書き出されずに強制終了している可能性があります。 printf("デバッグ\n"); のように改行を追加してみてください。 printf("デバッグ"); fflush(stdout); のように出力をフラッシュする処理を入れると、より確実でしょう。 デバッグ:429 デバッグ:429 が表示できているということは while(p->next!=NULL){ は落ちずに実行できており、この時の p の値に問題は無さそうですね。 そしてここから if(p->value==pivot){ までの間に p の値を書き換えるコードは無い...
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: こちら、列車の走行位置のプログラムを作っています。
返信数: 1
閲覧数: 4861

Re: こちら、列車の走行位置のプログラムを作っています。

dayJudge は種類の情報を返すだけで、その種類に基づいた動作をするのは他の部分のようなので、
・dayJudge が真偽値ではなく(例えば)整数を返すようにする
・dayJudge が返した種類に基づいた動作をする部分を新しい種類に対応させる
とするといいと思います。

コード:

function dayJudge(year, month, date, day)
{
	//alert(year +" "+ month +" "+ date +" "+ day)
の部分はそのまま使えそうだと思います。
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: 画像や動画の切り替え方法
返信数: 7
閲覧数: 7656

Re: 画像や動画の切り替え方法

・終了時 (無駄な書き込みを避けられるが、強制終了に弱い)
・画像を切り替えた時 (強制終了に強いが、書き込みが多くなる)
・終了時+その他のトリガ (ハイブリッド)
などのタイミングで開いている画像をどこか (ファイル or レジストリ or サーバ など) に保存しておき、
ソフトを開いた時に保存した情報を読み出し、それに基づいて表示する画像を決定するようにするといいと思います。

「その他のトリガ」としては、
・最後の画像の切り替えから一定時間経過
・前回の保存から一定時間経過し、かつその間に画像の切り替えがあった
・重要な画像の切り替えをした
などが考えられます。
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: MFCについて
返信数: 2
閲覧数: 4860

Re: MFCについて

フォーラムルールに沿っていれば、質問をするのはいいと思います。
(管理者ではないので、本当かどうかはわかりません)
ただし、回答がつく保証はありません。
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: DXアーカイブファイルを使うの場合は"画像ファイルがありません"のエラーが起きしました。
返信数: 4
閲覧数: 5461

Re: DXアーカイブファイルを使うの場合は"画像ファイルがありません"のエラーが起きしました。

I have downlaoded your test file , but an error occured while I'm trying to open the exe file(error picture is below),it means libstdc++.dll and libgcc_s_dw2-1.dll was not found. This question may relate to the lack of gcc compiler or just it's my computer's problem? Oops. I added static link optio...
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: DXアーカイブファイルを使うの場合は"画像ファイルがありません"のエラーが起きしました。
返信数: 4
閲覧数: 5461

Re: DXアーカイブファイルを使うの場合は"画像ファイルがありません"のエラーが起きしました。

とりあえずDeepL翻訳した結果を置いておきますね。 質問ですが、OSはwindows10、コンパイル環境はvisual studio2010、dxlibのバージョンは3.24bです。 dxEncodeを使ってゲームデータをdxaとしてパッケージ化すると、コードがファイルが存在しないと表示されます。 (注:dxaパッケージはexeファイルと一緒にまとめられています)。 ファイルを読み込むための私のコードは以下の通りです。 int Title = LoadGraph("data\\Title.png"); しかし、以前、同じvs2010のバージョンと同じdxlibのバージョンを使って、win7の...
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: ロード画面の表示方法について
返信数: 4
閲覧数: 5406

Re: ロード画面の表示方法について

DXライブラリのデフォルトの画面サイズの640×480に対して
DrawRotaGraph2Fに渡している座標が大きすぎるように見えますが、
画像の内容も含めて適切な設定になっていますか?
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: ロード画面の表示方法について
返信数: 4
閲覧数: 5406

Re: ロード画面の表示方法について

単にロードが直ぐに終わっているということではないですか?
当該モデルを同期で読み込むには、どのくらいの時間がかかりますか?
LoadCircleが表示される時間は、モデルの同期読み込みにかかる時間と比べてどうですか?
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: Stringの配列がうまく作動しません
返信数: 3
閲覧数: 3956

Re: Stringの配列がうまく作動しません

配列内に/r/nを入れることで上記の問題は解決しました 配列内に/r/n (原文ママ) を入れるより、 取得したitemから余計なデータを取り除いてから検索した方がいい気がします。 中項目名に複数の項目が入っている場合、完全一致にならないためArray.IndexOfで不一致となってしまいます。 どのように解決できるのかご教示いただきたいです。 「中項目名に複数の項目が入っている場合」とは具体的にどのような状態かよくわからないですが、 データ構造に対応するプログラムで項目ごとに分割し、1個ずつ検索するといいかもしれません。 そもそも、毎回配列から線形探索するのではなく、 最初に配列から「文字...
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: 再掲、列車の走行位置プログラムを仕上げたい。
返信数: 3
閲覧数: 4090

Re: 再掲、列車の走行位置プログラムを仕上げたい。

ソースコードを提示する際は、BBCodeが有効な(無効にしない)状態で、
BBCodeのcodeタグの開始タグと終了タグの組(開始タグが先)で囲んでいただけると、
見やすくてありがたいです。
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: 画像の更新が入らない
返信数: 2
閲覧数: 3590

Re: 画像の更新が入らない

関数 gpUpdateKey が呼ばれず、他に配列 Key の要素の値を変えている場所も無いので、
配列 Key の各要素の値は明示的に初期値が設定されていないグローバル変数の初期値の0であり、
x++; や x--; の前のif文の条件は真にならないですね。
オフトピック
各画像を表示させるためには、1フレーム単位の正確な操作でxの値を求められる値にピッタリ合わせないといけない、
しかもこの判定以外にxに関する情報は(画面・音声・ファイル・ネットワークなどどこにも)出力しない…
ていう仕様でいいのかな?
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: クラスの階層について
返信数: 2
閲覧数: 3436

Re: クラスの階層について

PLAYERクラスのメンバ変数x, yを初期化しないままDRAW関数内で座標として使っているため、
不定の値を参照し、画面外に描画されている可能性があります。
コンストラクタで使わないローカル変数の宣言と初期化を行うだけでなく、
メンバ変数x, yを適切な値に初期化する処理を追加するといいかもしれません。
もしくは、ALL関数またはDRAW関数でメンバ変数x, yの値を設定する方法も考えられるでしょう。
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: LoadGraph関数で画像を読み込むときにエラーが発生する
返信数: 2
閲覧数: 3625

Re: LoadGraph関数で画像を読み込むときにエラーが発生する

log.txt でエラーを吐いていて  "1007:Movie File Open Error : 画像/tutorial.png 1007:ムービーファイルオープン処理時にエラーが発生しました Image File Load Error : 画像/tutorial.png 1045:Movie File Open Error : 画像/settings.png 1045:ムービーファイルオープン処理時にエラーが発生しました Image File Load Error : 画像/settings.png " と書かれていました。 DXライブラリ Ver3.24 で試した所、空 (0バイト) ...
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: ファイルの数字を読み取り代入する方法
返信数: 1
閲覧数: 3273

Re: ファイルの数字を読み取り代入する方法

まずは仕様を決めましょう。 ・何を用いて読み込む?  ・よくあるプログラミング言語 (C言語、Python、Rust、アセンブリ言語、など)  ・RPA、ノーコードツールなど?  ・など ・読み込む環境は?  ・OSは? (Windows / Linux / OS X / Android / iOS / 自作 / なし など)  ・ハードウェアは? (x86 / M1 Mac / Arduino / Raspberry Pi など)  ・など? ・ファイルを読み込む方法は?  ・既存のライブラリやAPI(システムコールを含む)を呼び出す  ・自分で実装する   ・MMCカード / SDカード ...
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: リスト構造体のソート
返信数: 5
閲覧数: 5704

Re: リスト構造体のソート

keep に NULL を代入した状態で

コード:

keep->value = N+1;
を実行しているため、通常の環境では不正な場所にアクセスしたとして強制終了になる可能性が高いでしょう。
デリファレンスしてその結果を評価するポインタは、
有効なオブジェクトを指していなければならず、例えば以下であってはいけません。
・NULL
・未初期化
・無効になった領域 (free()により開放された領域、スコープを抜けた後の静的でないローカル変数など)
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: リスト構造体のソート
返信数: 5
閲覧数: 5704

Re: リスト構造体のソート

16行目 keep->value = N+1; において、ローカル変数 keep を初期化せずにデリファレンスしているため、 変な所にアクセスしてしまい、危険です。 19行目 while (node->next == NULL){ のループにおいて、最初にこの条件が真であった場合、24行目 node = node->next; によって node の値が NULL となり、19行目に戻った時にNULLをデリファレンスしてしまい危険です。 また、この条件が偽であった場合、prev が初期化されていない状態で26行目 prev->next = keep->next; を実行してしまい、危険です。 ...
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: char *とchar []
返信数: 1
閲覧数: 3398

Re: char *とchar []

C言語での文字列のコピーは、 strcpy() 系の関数を用いるといいでしょう。 strncpy() 関数を用いると、バッファオーバーフローを防ぐことができます。 strncpy(node->word, word, sizeof(node->word)); node->word[WORD_LEN_MAX - 1] = '\0'; /* 必ずナル文字を入れ、文字列として使う時のバッファオーバーフローを防ぐ */ 引数wordとして文字列を指しているポインタ以外 (NULL、ナル終端されていないデータへのポインタなど) が渡される可能性がある場合、strcpy() 系の関数を使うのは不適切です。 ...
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: 7セグで0から9まで順番に出力するプログラム
返信数: 2
閲覧数: 3929

Re: 7セグで0から9まで順番に出力するプログラム

ソースコードを提示する際は、BBCodeが有効な(無効にしない)状態で、 BBCodeのcodeタグの開始タグと終了タグの組(開始タグが先)で囲んでいただける と、 見やすくてありがたいです。 間違えを教えて頂きたいです。 このプログラム?の言語は何でしょうか? C言語やC++では、 int num (0)=LATBbits.LATB4 = 1; のような書き方はしません。 (少なくとも普通はしないと思います) また、C言語やC++の識別子の最初の文字に数字は使えないので、 0(); のような書き方はできません。 もしこのプログラム?がC言語またはC++のつもりなのであれば、関数の作り方を学ん...
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: テキストを暗号化し復号するコードを作ったのですが
返信数: 5
閲覧数: 4706

Re: テキストを暗号化し復号するコードを作ったのですが

C++で ・テキストを数値列にする ・数値列をコンマ区切りの10進文字列にする ・コンマ区切りの10進文字列を数値列にする ・数値列をテキストにする を実装してみました。 「0から26までの数字」とのことだったので、とりあえずひらがなは「あ」のみの対応です。 参考になれば幸いです。 #include <cctype> #include <iostream> #include <map> #include <sstream> #include <string> #include <vector> // (この形式での初期化はC++11以降の仕様) const std::vector<std::s...
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: [至急]DXライブラリで選択肢を作る方法を教えてください
返信数: 2
閲覧数: 5242

Re: [至急]DXライブラリで選択肢を作る方法を教えてください

Ryushi さんが書きました:
1年前
自分でも試みましたが全く動きませんでした。さらにswitch文の中で動かさないといけないので一瞬で選択肢が消えてしまいます。
そのコードを提示していただけますか?
ソースコードを提示する際は、BBCodeが有効な(無効にしない)状態で、
BBCodeのcodeタグの開始タグと終了タグの組(開始タグが先)で囲んでいただけると、
見やすくてありがたいです。
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: ソースファイルの分割について
返信数: 4
閲覧数: 6335

Re: ソースファイルの分割について

function.hでプロトタイプ宣言している関数群の実体は function.cにあるように見えます。ならば、function.hをインクルードすべきは test.cではなく、function.cの方ではないでしょうか。 これは違うと思います。 function.c にある関数群は、互いに他の関数を利用していないため、プロトタイプ宣言は不要です。 したがって、プロトタイプ宣言(とコメント)のみを含む function.h のインクルードは不要です。 ただし、インクルードすることにより、プロトタイプ宣言と実体の型が違ってしまった時に気付きやすくなるといったメリットは考えられます。 また、今後...
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: Dxlibの表示された文字の消し方
返信数: 4
閲覧数: 4515

Re: Dxlibの表示された文字の消し方

どのような処理に組み込むかによってもいい書き方は変わってくると思いますが、例えばこのような感じでできます。 #include <DxLib.h> int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) { if (ChangeWindowMode(TRUE) != DX_CHANGESCREEN_OK) return 1; if (DxLib_Init() == -1) return 1; SetDrawScreen(DX_SCREEN_BACK); int startTime = GetNowCount(); // 最初の時刻 bool en...
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: C# カメラからキャプチャーした画像の処理について
返信数: 1
閲覧数: 3928

Re: C# カメラからキャプチャーした画像の処理について

52行目で画像を取得したMatを、133行目のmatSrcImageのかわりに顔認識処理の入力にすれば良さそうです。
Matを引数として顔認識処理をするメソッドを切り出すとやりやすいかもしれません。
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: exeファイル
返信数: 1
閲覧数: 3624

Re: exeファイル

自分がやった方が自分にとって嬉しい未来が待っていそうだと思うことをやるのが良さそうだと思います。

例えば、もしその事象を解消したいのであれば、事象の原因を調べ、その原因を取り除こうとするのがいいと思います。
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: C言語 配列 数の大きさ
返信数: 4
閲覧数: 7798

Re: C言語 配列 数の大きさ

rank()「だけ」示されましても、 rank()を「どうやって」使っているかがこちらには全く伝わりません。 main()などを含め、書いたコードを「全部」見せてください。 main()を含めたコンパイル可能なコードが提示されていますが、これだけでは不満なのでしょうか? 「書いたコードを『全部』」とは、この問題に限らず、生まれてから今までに書いたコードを全部でしょうか? 間違っている点やアドバイスよろしくお願いします。 iが0以上n未満という同じループで、 main関数ではa[i+1]に読み込んでいるのに、rank関数ではa[i​]の値を参照しているので、 ・不定の値a[0]を参照する ・読...
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: ISBNコードのルーンチェックサムを作成中です。
返信数: 4
閲覧数: 6916

Re: ISBNコードのルーンチェックサムを作成中です。

このような番号は、数値ではなく文字列として扱うべきです。
数値として扱ってしまうと、例えば 000012345678 (12桁) と 12345678 (8桁) を区別できず、誤判定の原因となります。
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: 画像が表示できない
返信数: 6
閲覧数: 8149

Re: 画像が表示できない

画像が表示されないのは、表示に反映される場所で画像を描画する処理を実行していないからであると考えられます。

コード:

ClearDrawScreen();				//画面に書かれたものを削除する
より下、かつ

コード:

ScreenFlip();					//裏画面を表画面に表示
より上の部分に、画像を描画する処理

コード:

DrawGraph(320, 240, haikei, TRUE);
を入れてみてください。
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: 画像が表示できない
返信数: 6
閲覧数: 8149

Re: だめでした

DEBUGONN さんが書きました:
1年前
パスの書き方に問題があるのではと考えています。
ではなぜ元のサイトと同じ書き方

コード:

"ゲーム用画像/背景 川.jpg"
を使わないのですか?
それとも、使ったけどうまく動かなかったですか?
DEBUGONN さんが書きました:
1年前

コード:

	haikei = LoadGraph("C:Users\wildn\OneDrive\ドキュメント\DXライブラリ\KFIP\個人製作ゲーム\夏休み製作\ゲーム用画像\背景 川.jpg");
エスケープシーケンスの関係で不適切な表記であるのに加え、C:の後にパスの区切り文字が抜けていますね。
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: 画像が表示できない
返信数: 6
閲覧数: 8149

Re: 画像が表示できない

生文字列リテラルではない文字列リテラル中の \ はC++ではエスケープシーケンスとして解釈されるので、
\ を表すエスケープシーケンスの \\ を用いて

コード:

"C:\\Users\\wildn\\OneDrive\\画像\\ゲーム制作用\\背景 川.jpg"
とするといいかもしれません。

コンパイラが対応していれば、生文字列リテラルを用いて

コード:

R"(C:\Users\wildn\OneDrive\画像\ゲーム制作用\背景 川.jpg)"
とも表現できます。
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: 検索機能ができません
返信数: 4
閲覧数: 4407

Re: 検索機能ができません

ソースコードを提示する際は、BBCodeが有効な(無効にしない)状態で、 BBCodeのcodeタグの開始タグと終了タグの組(開始タグが先)で囲んでいただける と、 見やすくてありがたいです。 今のコードだと文字だけが表示されるのですが、数を表示する方法を知りたいです。 printfに渡す内容に表示したい「数」を追加すれば、数を表示できると思います。 printf("quantities 数"); とか printf("quantities %d", 42); とか。 現状では開いたファイルに対する操作は閉じる以外していないようですが、 これは「数を表示」できるようにした後で考えるのかな…? ...
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: 降順にソートする
返信数: 8
閲覧数: 13416

Re: 降順にソートする

なすび さんが書きました:
1年前

コード:

            printf("%s: %s \n",n+1,name[n],quantity[n]);
n+1に対応する書式指定文字列が無いため、
%sにより整数n+1の値を文字列を指すポインタだと思い込んで出力しようとし、
未定義動作になります。
書式または引数を修正し、書式と引数がきちんと対応するようにしましょう。
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: 降順にソートする
返信数: 8
閲覧数: 13416

Re: 降順にソートする

ソースコードを提示する際は、BBCodeが有効な(無効にしない)状態で、 BBCodeのcodeタグの開始タグと終了タグの組(開始タグが先)で囲んでいただける と、 見やすくてありがたいです。 if ((f = fopen("dist.txt", "r")) == NULL) { printf("fileopen faile\n"); } ファイルオープンに失敗した場合でも、処理を続けてしまっています。 NULLがファイルポインタとしてファイル操作関数に渡され、実行時エラーの原因になります。 printfの後に return; などを追加し、処理を終了するようにしましょう。 for (n = ...
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: テキストファイルの在庫の更新
返信数: 5
閲覧数: 5621

Re: テキストファイルの在庫の更新

関数の引数として(voidを書かずに)空文字列を指定していることから、このコードはC++でしょうか?
C言語の場合、qaの各メンバの値が初期化されずに計算に使われ、未定義動作になる可能性があります。
C++の場合(開示されていない)struct quantityのコンストラクタなどで初期化されている可能性が考えられるので、
未初期化の値が使われると断定することはできません。
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: テキストファイルの在庫の更新
返信数: 5
閲覧数: 5621

Re: テキストファイルの在庫の更新

ソースコードを提示する際は、BBCodeが有効な(無効にしない)状態で、 BBCodeのcodeタグの開始タグと終了タグの組(開始タグが先)で囲んでいただける と、 見やすくてありがたいです。 私の書いたコードはこちらなんですが、間違えているところともっといいやり方があれば教えてください。お願いします。 とりあえずパッと見で致命的に間違っていると考えられるのは ・fopenしたファイルをfcloseしていない ・amountの処理が不適切 ・switchの使い方が不適切 ですね。 fopenしたファイルをfcloseしていない そのまんまです。 開いたファイルは閉じるべきです。 開いたファイル...
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: 2つ目のjsが正常に動きません。なぜですか。
返信数: 2
閲覧数: 3893

Re: 2つ目のjsが正常に動きません。なぜですか。

何か codeタグ を使わずに投稿することにこだわる理由はありますか? 1個目が動くのですが、2個目が動かないです。 「1つ目のjs」が「泉北2個func別々泉北 外部 2022-8-1 Mon\jsファイル 2022-8-1 Mon\運賃 2022-8-1 Mon.js」、 「2つ目のjs」が「阪和2個11-2 外部 2022-8-1 Mon\jsファイル 2022-8-1 Mon\運賃 2022-8-1 Mon.js"」 だと仮定して検証を行いました。 そのままコピペしてFirefox 103.0.1で開くと、「1つ目のjs」の6行目で Uncaught SyntaxError: ille...
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: 2個目のfunctionが機能しないです。なぜですか。
返信数: 4
閲覧数: 5569

Re: 2個目のfunctionが機能しないです。なぜですか。

2個目のfunctionが存在しないだとしたら、functionは、別個で作ったほうがいいということですか。 わかりません。 設計によるでしょう。 <form name="semboku_f">のform <select name="semboku_q1">のselect <option>選択肢</option>のoption <input type="button" name="b1" value="運賃検索" onclick="semboku_kotae()"> <p>の imputや、valueや、onclick、 <textarea name=semboku_rank style="...
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: 2個目のfunctionが機能しないです。なぜですか。
返信数: 4
閲覧数: 5569

Re: 2個目のfunctionが機能しないです。なぜですか。

ソースコードを提示する際は、BBCodeが有効な(無効にしない)状態で、 BBCodeのcodeタグの開始タグと終了タグの組(開始タグが先)で囲んでいただける と、 見やすくてありがたいです。 <>を用いた<code>や</code>は、BBCodeのcodeタグではありません。 2個目のfunctionが機能しないです。なぜですか。 投稿内容から文字列「function」を検索したところ、 コードと思われる部分では function semboku_kotae() の function しか見つかりませんでした。 よって、「2個目のfunction」は存在しないから機能しないと考えられます。
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: 天下茶屋と深井の運賃が正確に出ない。
返信数: 6
閲覧数: 8675

Re: 天下茶屋と深井の運賃が正確に出ない。

ソースコードを提示する際は、BBCodeが有効な(無効にしない)状態で、 BBCodeのcodeタグの開始タグと終了タグの組(開始タグが先)で囲んでいただける と、 見やすくてありがたいです。 天下茶屋~深井間ができないです。 まず、この部分 ten=0 と、この部分 else if((f.q1.value == "天下茶屋"&&f.q2.value == "深井")||(f.q1.value == "深井"&&f.q2.value == "天下茶屋")) {f.q1.style.backgroundColor="aqua ";ten = ten + 13.9} と、この部分 f.tokute...
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: モバイルCとLua
返信数: 1
閲覧数: 3796

Re: モバイルCとLua

Lua言語をMobile CというGoogle storeやAppStoreにあるアプリで実行させたいのですが、Mobile CのLuaではバグがあって正しく動作しません、助けてください。 これはMobile Cを修正しろ、ということですか? もしくは、バグを踏まないようなworkaroundを考えろ、ということですか? 「正しく動作しません」とは、具体的に ・どのような状況で (入力・操作など) ・どのような動作を期待したのに ・実際にはどのような動作をする のですか? 下記のコードは1から100の数字がランダムに選ばれてその数字を10回以内に当てるゲームです。 解答の数字の後に毎回改行を...
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: クイックソート反映されない、というかエラーでる(; ;)
返信数: 5
閲覧数: 4480

Re: クイックソート反映されない、というかエラーでる(; ;)

どうしても自前でクイックソート(またはその他のソート)を実装したいですか?
標準ライブラリのstd::sortqsortを利用するのではダメですか?

また、ループ内で毎回

コード:

prepoint = new double* [i+1];
をしてしまうと、前回確保してprepointに代入したバッファへの参照が失われ(メモリリーク)、
さらにこれまで読み込んだデータも参照できなくなります。
std::vectorを使った方がいいでしょう。
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: char型とint型について
返信数: 2
閲覧数: 6392

Re: char型とint型について

ソースコードを提示する際は、BBCodeが有効な(無効にしない)状態で、 BBCodeのcodeタグの開始タグと終了タグの組(開始タグが先)で囲んでいただける と、 見やすくてありがたいです。 charは文字専用、intは整数専用と書いてありましたが、 そんなこと、どこに書いてありましたか? charもintも、幅(使うメモリの量、扱える数値の範囲)が違うだけで整数型です。 (また、int型は必ず符号付き、char型が符号付きかは環境による、という違いもあります) コンピュータにおいては、文字に数値(キャラクターコード)を割り当てて扱うことが一般的です。 下のコードはエラーなく動きます。 どう...
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: 2 の倍数でも 3 の倍数でもないものの和を求めたい
返信数: 4
閲覧数: 8464

Re: 2 の倍数でも 3 の倍数でもないものの和を求めたい

「a, bは正」や「a ≦ b」といった条件が無いので、これらを満たさない入力の処理にもう少し工夫が必要そうですね。
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: 2 の倍数でも 3 の倍数でもないものの和を求めたい
返信数: 4
閲覧数: 8464

Re: 2 の倍数でも 3 の倍数でもないものの和を求めたい

sum_n関数は「0~nの整数のうち、2でも3でも割り切れないものの和」を求める関数なので、
今のmain関数の処理だと「sum_n(1)+sum_n(5)」すなわち「1+(1+5)」を求めてしまいます。

sum_n関数を、累積和の値を求める関数として処理を行います。
累積和とは(超初心者用) - Qiita
今回は「a 以上 b 未満の数のうち」で求めたいので、
「b未満の数における計算結果のうち、a未満の数における計算結果を除いたもの」
すなわち「sum_n(b-1) - sum_n(a-1)」の値を求めればいいでしょう。
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: 条件式のelseの書き方
返信数: 10
閲覧数: 12190

Re: 条件式のelseの書き方

まず、未定義の識別子mojiおよびm、および未初期化の変数middleが使われているのが致命的ですね。 このような致命的なミスがあるにもかかわらず「行数は表示されます」ということは、 このコードではなく別のコードを実行していると考えられます。 意図通りのコードを実行するよう気をつけてください。 (例えばファイル名やディレクトリの間違い、およびコンパイル忘れに注意) その前でreturnしているので、18~21行目は実行されないダミーですね。 仮に関数mojiが副作用が無く整数を返す関数である場合、その返り値は必ず0または正または負なので、 61~62行目のelse句は実行されず、意味が無いです...
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: 授業でわからないところがあったので質問です
返信数: 2
閲覧数: 2630

Re: 授業でわからないところがあったので質問です

フォーラムルールを読み、従ってください。

課題の丸投げ(問題文だけ書く事)は禁止です。
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: C言語 再帰関数 総和問題
返信数: 7
閲覧数: 3991

Re: C言語 再帰関数 総和問題

m<nのとき、「mからnまでの和」は、「m+(m+1からnまでの和)」と表すことができます。
m=nのとき、「mからnまでの和」はmです。
sumof関数の実装は、これをプログラムにすればいいでしょう。

さらに、sumof関数を呼び出すため、main関数のscanfの呼び出しとprintfの呼び出しの間に、

コード:

S = sumof(b, a);
を追加するといいでしょう。
(a, bとm, nの対応関係に注意)
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: 配列を使って様々な値を求める方法(素人質問ですみません)
返信数: 6
閲覧数: 10909

Re: 配列を使って様々な値を求める方法(素人質問ですみません)

box さんが書きました:
1年前
ちょっとだけ手直ししました。
貼ってあるコードは同じに見えます。
scanfの戻り値を無視している (値を読めたかを確認していない) のはあまり良くなさそうですね。
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: シューティングゲームの敵の弾を連続して発射
返信数: 4
閲覧数: 2772

Re: シューティングゲームの敵の弾を連続して発射

敵が連続して弾を発射するようなコードに書き換え、
(コンパイルが必要な言語であればコンパイルして)実行すればいいと思います。
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: C言語で数あてゲームを作りたい
返信数: 1
閲覧数: 2037

Re: C言語で数あてゲームを作りたい

入力履歴として出力している添字が不適切です。

コード:

for (j = 11-i; j > 0; j--)
のかわりに

コード:

for (j = 10; j > 0 && j >= i; j--)
とするといいでしょう。
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: Makefileでのエラー
返信数: 1
閲覧数: 2226

Re: Makefileでのエラー

popopo516 さんが書きました:
1年前
必要なファイルやディレクトリはちゃんとあります。
というのがもし本当だとすると、
・本当は AcceptTCPConnection.o は利用しないはずのに、誤って利用するように書いてしまっている
・AcceptTCPConnection.c または AcceptTCPConnection.o を生成するためのルールを書き忘れた、誤って消したなどで抜けている
などが考えられます。

ただ、これが本当でないと考えるほうが自然でしょう。
参照されているファイルが「正しいファイル名で」(typo注意)「正しいディレクトリに」あるかを確認してください。
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: 3分木の実装について
返信数: 6
閲覧数: 6500

Re: 3分木の実装について

こちらではSegmentation Faultを再現できませんでした。
・コンパイルや実行をしているのが本当にこのコードかを確認してください。
 ・最新のコードを保存しましたか?
 ・作業ディレクトリは正しいですか?
 ・最新のコードをコンパイルしましたか?
・デバッガやprintfデバッグなどで、具体的にどこで落ちているかを確認してください。
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: for文を使ったセーブ機能について
返信数: 5
閲覧数: 3265

Re: for文を使ったセーブ機能について

白雪 さんが書きました:
1年前
これの『10 + ((z % 3) * 416), 30 + ((y % 4) * 169)』この部分のことでしょうか?
いいえ。
どの要素を表示するかを決めるxを、Mouse_CL != 0 の時しか更新していないのが気になった、ということです。
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: for文を使ったセーブ機能について
返信数: 5
閲覧数: 3265

Re: for文を使ったセーブ機能について

ところで、Dateの内容を表示する時、「描画する位置に応じた要素」ではなく
「0番目または今回のループでGame_Save関数に渡した場所の要素」を使用しているのはなぜでしょうか?
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: for文を使ったセーブ機能について
返信数: 5
閲覧数: 3265

Re: for文を使ったセーブ機能について

適当にコードを補って動かしてみた結果、Game_Save関数にはクリックした場所に対応する番号が渡されていました。 よって、Game_Save関数もしくはその他の未公開の部分にバグがあると推測できます。 #include <DxLib.h> #include <vector> struct Date_s { int Year, Mon, Day, Hour, Min, Sec; Date_s() : Year(0), Mon(0), Day(0), Hour(0), Min(0), Sec(0) {} }; void Game_Save(int x) { printfDx("saved %d\...
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: C++20で多量のthreadを一括発行と自動同期する方法
返信数: 8
閲覧数: 3456

Re: C++20で多量のthreadを一括発行と自動同期する方法

難しい問題に多くの人に早く聞きたいですね。何が悪いの? フォーラムルール 違反です。 相互リンクすればマルチポストOK 相互リンクした場合のみ複数の掲示板で同じ質問しても OK 複数の掲示板で同じ質問をすることをマルチポストといい、大抵禁止されています。 しかし、ここでは相互リンクし、リンク先の掲示板でマルチポストが許されていれば マルチポストはOKとしています。複数の掲示板で同じ質問をするときは相互リンクし、 どこの掲示板で同じ質問をしているか明確にして下さい。 「 相互リンクした場合のみ 複数の掲示板で同じ質問しても OK」となっています。 今回の場合、相互リンクなしで複数の掲示板で同じ...
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: C++20で多量のthreadを一括発行と自動同期する方法
返信数: 8
閲覧数: 3456

Re: C++20で多量のthreadを一括発行と自動同期する方法

threadをvectorに入れるといいでしょう。 #include <iostream> #include <thread> #include <vector> void hoge(int a, int b) { std::cout << a << ' ' << b << std::endl; } int main(void) { std::vector<std::thread> thr; const int N = 1000; for (int i = 1; i <= N; i++) { thr.emplace_back(hoge, 10 * i, i); } for (auto& t :...
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: 降順ソートのプログラムにしたい
返信数: 13
閲覧数: 13443

Re: 降順ソートのプログラムにしたい

昇順ソートのプログラムを作って、最後に配列の中身を逆順にする処理を入れれば、降順ソートになるでしょう。
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: 降順ソートのプログラムにしたい
返信数: 13
閲覧数: 13443

Re: 降順ソートのプログラムにしたい

yunyun さんが書きました:
1年前
降順にソートするプログラムに変更したいです。
すればいいでしょう。
質問はありますか?
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: ヒープソートの比較回数と交換回数
返信数: 15
閲覧数: 16050

Re: ヒープソートの比較回数と交換回数

box さんが書きました:
1年前

コード:

    downheap(0, n);
じゃないとダメ、とか?
引数のfrom, toの意味合いからして、そんな気がしないでもない。
main関数内でa[n-1]までしか値を設定していないこと、
そしてdownheap関数内でa[to]まで参照されそうなことから考えると、

コード:

    downheap(0, n-1);
の方が良さそうな気がしますね。
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: ヒープソートの比較回数と交換回数
返信数: 15
閲覧数: 16050

Re: ヒープソートの比較回数と交換回数

こちらでは、「どこからも呼ばれている形跡がなさそうな」 いちばん下の方にあるheapsortっていう関数で nが未定義 っていうコンパイルエラーが出ましたが…。 heapsortは呼ばれていなかったのですね。 見落としました。申し訳ありません。 あらためてコードを読んだところ、 for (i = 0; i < n; i++) { a[i] = random() % n ; /* 配列要素に乱数値を設定する */ } downheap(i,n); /* ヒープソートを実行 */ という部分において、nは正の値で、 i < n が成り立たなくなるまでiの値を0から1ずつ増やしながらループした直後...
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: ヒープソートの比較回数と交換回数
返信数: 15
閲覧数: 16050

Re: ヒープソートの比較回数と交換回数

ソートする要素の個数と思われる変数nがdownheap関数およびheapsort関数以外からは見えない位置に置かれており、
n = 0 のまま書き換えられていません。
よって、0個の要素をソートすることになり、比較関数および交換回数が0というのは正しい値です。
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: 比較回数と交換回数の表示
返信数: 1
閲覧数: 1937

Re: 比較回数と交換回数の表示

ヒープソートで比較回数comp++;と交換回数swap++;の挿入場所が分からないです。 比較回数は比較をしている部分に j = i*2; if (j+1 <= to && (comp++, a[j] > a[j+1])) /* 挿入 */ 交換回数は交換をしている部分に for (i = n; i >= 2; i--){ swap++; /* 挿入 */ tmp = a[1]; 挿入するのが自然でしょう。 いろいろな所に試しても、回数表示が0になります。 提示されていない部分にバグがあるかもしれません。
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: RLC回路の数値計算がエクセルとずれてしまいます
返信数: 4
閲覧数: 6221

Re: RLC回路の数値計算がエクセルとずれてしまいます

ソースコードを提示する際は、BBCodeが有効な(無効にしない)状態で、
BBCodeのcodeタグの開始タグと終了タグの組(開始タグが先)で囲んでいただけると、
見やすくてありがたいです。

1/64 は整数同士の割り算なので、切り捨てられて0になります。
1.0/64 としてみてください。
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: DXライブラリを使わずにタイトル画面とゲーム画面を作りたい
返信数: 4
閲覧数: 2825

Re: DXライブラリを使わずにタイトル画面とゲーム画面を作りたい

まずはあなたのプログラムを動かすターゲット、およびどうやって画面を出すかを決めましょう。 例えば ・パソコン (クライアント端末) の機械語で動かす  ・一般的に使われるOSの上で動かす   ・Windows API   ・OpenCV   ・SDL   ・Qt  ・一般的なOSは使わずに動かす   ・BIOSから呼び出されるプログラム (0x7c00にロードされるやつが有名)   ・UEFIアプリケーション ・Webブラウザ上に画面を出す  ・CGI (サーバ側で動かす)  ・WebAssembly (クライアント側で動かす) ・マイコンで動かす  ・グラフィック液晶/有機EL (各種シリア...
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: ポインタとアドレス
返信数: 7
閲覧数: 8252

Re: ポインタとアドレス

関数の引数における int array[] は int* array を意味するシンタックスシュガーなので、
配列ではなくポインタの値のコピーが渡ることになります。
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: ポインタとアドレス
返信数: 7
閲覧数: 8252

Re: ポインタとアドレス

関数f2の引数gnは関数f1から渡される*gnのコピーなので、
関数f2内で引数gnを書き換えても関数f1における*gnには影響しません。
そして、関数mainのgnや関数f1の*gnを書き換えるコードは存在しないので、
関数main内の変数gnの値は初期化した時の0のままとなります。
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: 最小値が出力できない、(ド素人質問です)
返信数: 5
閲覧数: 7702

Re: 最小値が出力できない、(ド素人質問です)

if (n == 0) break; else { min = n; max = n; } の部分で、0でない値が入力された場合常にminおよびmaxをnに設定してしまいますね。 ここでは、最初の入力でのみminおよびmaxを設定するようにするとよいでしょう。 例えば int n, average, max, min; int isFirst = 1; /* 最初の入力かを表す変数を追加 */ int total = 0; int times = 0; while (1) { printf("数字を入力して下さい(0で終了)"); scanf("%d", &n); if (n == 0) b...
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: sqlite3_prepare_v2でエラー処理に入ってしまいます
返信数: 7
閲覧数: 8492

Re: sqlite3_prepare_v2でエラー処理に入ってしまいます

insert の対象である MY_DATA テーブルが無いためにエラーになっている可能性が考えられます。
参照している MY_DATA.db が(正しいディレクトリに)存在するか、
正しく MY_DATA テーブルを作ったか(テーブル名にtypoが無いかなど)を確認してください。
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: 条件を増やすか否か
返信数: 6
閲覧数: 3114

Re: 条件を増やすか否か

例えば Compiler Explorerでコンパイル してみると、以下のようになりました。 extern int mode, oldData, newData; #define AUTO 123 void test1(void) { if(mode == AUTO) oldData = newData; } void test2(void) { if(mode == AUTO && oldData != newData) oldData = newData; } test1: cmpl $123, mode(%rip) je .L4 ret .L4: movl newData(%rip), ...
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: ナップサック問題について
返信数: 3
閲覧数: 1845

Re: ナップサック問題について

ATAT13621 さんが書きました:
1年前
再帰呼び出しのret_priceが指す先に格納された値を無視しているというのが具体的にどういうことなのか理解できませんでした.
ret_priceが指す先に格納された値を読み出さず、次の再帰呼び出しや間接演算子を用いた代入により上書きしてしまっている、ということです。
ATAT13621 さんが書きました:
1年前
また, 価値を比較したあと, 大きい方の重量を算出するためにはどのようにすればよいかも分からず行き詰ってます.
大きい方の価値が得られた再帰呼び出しの戻り値を、「大きい方の重量」として採用すれば良いです。
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: ナップサック問題について
返信数: 3
閲覧数: 1845

Re: ナップサック問題について

・knapsack関数の返り値 (重量) をv (価値) 系の変数に代入している
・再帰呼び出しにより ret_price が指す先に格納された値を無視している
・重量と価値を独立に比較し、小さくない方を採用している
というのがおかしいですね。

・再帰呼び出しする際、 ret_price にポインタを渡す用の新しい領域 (変数) を用意し、渡すようにする
・格納された値 (価値) を比較し、小さくない方が得られた方に対応する返り値 (重量) を採用するようにする
というようにすると改善するでしょう。
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: C言語でスリングショットゲーム
返信数: 2
閲覧数: 2519

Re: C言語でスリングショットゲーム

フォーラムルールを読み、従ってください。
niwaka1117 さんが書きました:
1年前
C言語でスリンショットゲームを作りたいのです、、、
作ればいいでしょう。
少なくとも、作ろうとするべきでしょう。
niwaka1117 さんが書きました:
1年前
学校の課題なのですが、説明が下手ですみません、、
課題の丸投げ (問題文だけ書くこと) は禁止です。
niwaka1117 さんが書きました:
1年前
有識者の皆様、よろしくお願いいたします。
何をお願いするのですか?
具体的にここのやり方がわからないなどの質問はありますか?
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: C言語でカレンダー
返信数: 6
閲覧数: 8649

Re: C言語でカレンダー

ソースコードを提示する際は、BBCodeが有効な(無効にしない)状態で、
BBCodeのcodeタグの開始タグと終了タグの組(開始タグが先)で囲んでいただけると、
見やすくてありがたいです。

ググれば例がいっぱい出てきますね。
C言語 カレンダー - Google 検索

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