検索結果 6632 件
- 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]...
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: C言語のエンキューの問題の答えと合わない
- 返信数: 4
- 閲覧数: 7681
Re: C言語のエンキューの問題の答えと合わない
enqueue 関数で10個の要素を書き換えているので、これまでにエンキューしたデータが破壊されていますね。
enqueue 関数でするべきことは
1. queue->rear が指している要素1個だけを与えられた value に更新する
2. queue->rear の値を更新する
です。
また、38行目に全角スペースがあるため、このままでは実行できない環境があります。
enqueue 関数でするべきことは
1. queue->rear が指している要素1個だけを与えられた value に更新する
2. queue->rear の値を更新する
です。
また、38行目に全角スペースがあるため、このままでは実行できない環境があります。
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: ヒープソートについて
- 返信数: 9
- 閲覧数: 10891
- 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からで...
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: ヒープソートについて
- 返信数: 9
- 閲覧数: 10891
Re: ヒープソートについて
これだけでは何が分からないのか (少なくとも自分には) わかりません。
そのプログラムを提示していただけますか?
ソースコードを提示する際は、BBCodeが有効な(無効にしない)状態で、
BBCodeのcodeタグの開始タグと終了タグの組(開始タグが先)で囲んでいただけると、
見やすくてありがたいです。
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: 大学の乱数についての課題
- 返信数: 8
- 閲覧数: 10585
Re: 大学の乱数についての課題
実行結果がずっと200という同じ値にしかなりません。どこを改善すればよいか教えていただきたいです。 ・scanfs という関数はC言語の標準ライブラリに無いので、scanfに置換する ・指定された書式に合った入力を与える ことで、200でない値を出力させることができました。 改善するべき点は与える入力であると予想します。 また、scanfの戻り値により、期待する数の入力を読み込めたかをチェックするべきです。 https://wandbox.org/permlink/8K0G5iQN7f5A8TTi boy = 0; girl = 0; これらの変数を0で初期化している箇所、 ループの「中」で...
- 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...
- 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
事前に文字列を読み込むための領域を確保しておかなければなりません。
c - Crash or "segmentation fault" when data is copied/scanned/read to an uninitialized pointer - Stack Overflow
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: カンマで区切られた文字を整数に変換したい
- 返信数: 13
- 閲覧数: 9726
Re: カンマで区切られた文字を整数に変換したい
ポインタというものは,少しハードルが高くポインタを用いないで解決できるプログラムはできないでしょうか? C言語では、式中の配列はsizeofとともに用いるなどの例外を除いて先頭要素へのポインタに変換されます。 X[Y] は、*((X) + (Y)) という意味の糖衣構文(シンタックスシュガー)です。 したがって、C言語ではポインタを用いずに配列の要素にアクセスするのは無理であると考えられます。 すなわち、ポインタを用いるのを回避するためにはC言語以外を使うのがいいでしょう。 Rubyで実装してみました。 dat = [] dat[0]='1' dat[1]=',' dat[2]='2' da...
- 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[...
- 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 ...
- 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(...
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: 遺伝的アルゴリズムのトーナメント選択について
- 返信数: 6
- 閲覧数: 5861
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: 配列
- 返信数: 2
- 閲覧数: 4816
Re: 配列
C言語なら
のような感じでできるでしょう。
Man page of MEMMOVE
Man page of MEMMOVE
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: 組み合わせ?のプログラムの考え方が分かりません!!
- 返信数: 14
- 閲覧数: 8322
Re: 組み合わせ?のプログラムの考え方が分かりません!!
再帰で、 ・今考えている長さを切り出し、また同じ長さについて考える ・今考えている長さは切り出さず、次の長さについて考える をするといいと思います。 Python で実装してみました。 def compute(sourceLength, targetLengthList): ans = [] # 全ての切り取る長さの候補を試し終わった if len(targetLengthList) == 0: return [[]] # 今の切り取る長さの候補を試す if targetLengthList[0] <= sourceLength: # この長さを切り取った後のパターンを生成する puttern...
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: 配列での文字列の扱いについて
- 返信数: 3
- 閲覧数: 5231
Re: 配列での文字列の扱いについて
エラーとは直接関係無さそうですが、2点気になるところがありました。 scanf() の書式 %s は char* 型のデータを要求するので、配列へのポインタ &ans (char(*)[100] 型) ではなく配列の戦闘要素へのポインタ ans (これは配列だが、sizeof などの例外を除いて式中では先頭要素へのポインタに変換される) を渡すべきである log を「あなたの回答」というメッセージとともに出力しているが、log には入力されたデータではなくあらかじめ用意された正解のデータが格納されている (あえて一般的でない正解にして意地悪をするなど) クイズの正解をどうするかは自由だと思うけ...
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: 文字列を交互に
- 返信数: 11
- 閲覧数: 10933
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: 何故、引数にconstがついているのか
- 返信数: 2
- 閲覧数: 8260
Re: 何故、引数にconstがついているのか
ソースコードを提示する際は、BBCodeが有効な(無効にしない)状態で、
BBCodeのcodeタグの開始タグと終了タグの組(開始タグが先)で囲んでいただけると、
見やすくてありがたいです。
この場合、s2「が指しているもの」の値を変更したらダメ、という意味です。
実際、s2++ でs2の値は変更されていますよね。
BBCodeのcodeタグの開始タグと終了タグの組(開始タグが先)で囲んでいただけると、
見やすくてありがたいです。
違います。
この場合、s2「が指しているもの」の値を変更したらダメ、という意味です。
実際、s2++ でs2の値は変更されていますよね。
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: 列車走行位置を完成させたいです。
- 返信数: 1
- 閲覧数: 4807
Re: 列車走行位置を完成させたいです。
ソースコードを提示する際は、BBCodeが有効な(無効にしない)状態で、 BBCodeのcodeタグの開始タグと終了タグの組(開始タグが先)で囲んでいただける と、 見やすくてありがたいです。 [] ではなく <> を使用した <code> や </code> は、BBCodeのcodeタグではありません。 まず1案目として以下を考案しました。 これでは、return weekdayFlag; の時点でこの関数の実行が終了するため、 hoodayFlag の情報は返りません。 また、この関数は常に true を返します。 2案目として、 (中略) と書きましたが、これは画面が真っ青になりました...
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: クリック回数を利用したループ
- 返信数: 4
- 閲覧数: 7784
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: クリック回数を利用したループ
- 返信数: 4
- 閲覧数: 7784
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: 乱数関数について
- 返信数: 5
- 閲覧数: 5860
Re: 乱数関数について
srand関数 は、引数の値に基づいてこの後出す乱数の系列を決定します。 この値として秒単位の時刻を与えると、処理は通常1秒に100万回以上実行されるため、 高い確率で毎回同じ値が引数となり、その結果毎回同じ乱数の系列が用いられます。 よって、同じ系列なので、その最初の値も同じとなります。 なお、「サブルーチン内にいれてはいけない」というのは不正確です。 1度だけ実行されるようにする仕組みを入れることで、srandをサブルーチン内に入れても毎回初期化せずに乱数を利用することができます。 int nrand(int x) { static int initialized = 0; int y;...
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: ポインタを用いた配列要素数の調べ方
- 返信数: 9
- 閲覧数: 8005
Re: ポインタを用いた配列要素数の調べ方
さらに、「helloからcount要素進んだ位置の値を読んでチェックする」処理の前に「countの値を増やす」処理を置いてしまうと、0文字の文字列 (最初の要素がヌル文字) が与えられた時にヌル文字を見逃してしまうので、よくないですね。
「要素数」ということは、カウントにはヌル文字の分も含めるのでしょうか?
「要素数」ということは、カウントにはヌル文字の分も含めるのでしょうか?
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: ポインタを用いた配列要素数の調べ方
- 返信数: 9
- 閲覧数: 8005
Re: ポインタを用いた配列要素数の調べ方
ソースコードを提示する際は、BBCodeが有効な(無効にしない)状態で、 BBCodeのcodeタグの開始タグと終了タグの組(開始タグが先)で囲んでいただける と、 見やすくてありがたいです。 strではなくhelloではないですか? あと*(str + count);では値を加算していることになります。 アドレスを進めなくてはなりません。 str を hello に置き換えれば、hello + count でポインタ hello から count 要素進んだ位置を参照し、 *() でその位置の値を読んでいるので、正しいです。 あとは、読んだ値がヌル文字かをチェックするなどの処理があると良さそ...
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: scanfでのエラー
- 返信数: 3
- 閲覧数: 7682
Re: scanfでのエラー
もしくは、1以上3以下でループし、添字を[i]のかわりに[i-1]にしてもいいです。
- 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言語以...
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: 課題について
- 返信数: 2
- 閲覧数: 5156
Re: 課題について
何をお願いするのですか?
課題の丸投げは禁止です。
投稿は、フォーラムルールを読み、それに沿ったものをお願いします。
課題の丸投げは禁止です。
投稿は、フォーラムルールを読み、それに沿ったものをお願いします。
オフトピック
例えば「フォーラムルールを読み、それに沿った質問をお願いします。」と書いてしまうと、
質問なんか無い投稿者に質問することを要求して余計な負担をかけてしまうかもしれない…
質問なんか無い投稿者に質問することを要求して余計な負担をかけてしまうかもしれない…
- 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 の値を書き換えるコードは無い...
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: こちら、列車の走行位置のプログラムを作っています。
- 返信数: 1
- 閲覧数: 4861
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: 画像や動画の切り替え方法
- 返信数: 7
- 閲覧数: 7656
Re: 画像や動画の切り替え方法
・終了時 (無駄な書き込みを避けられるが、強制終了に弱い)
・画像を切り替えた時 (強制終了に強いが、書き込みが多くなる)
・終了時+その他のトリガ (ハイブリッド)
などのタイミングで開いている画像をどこか (ファイル or レジストリ or サーバ など) に保存しておき、
ソフトを開いた時に保存した情報を読み出し、それに基づいて表示する画像を決定するようにするといいと思います。
「その他のトリガ」としては、
・最後の画像の切り替えから一定時間経過
・前回の保存から一定時間経過し、かつその間に画像の切り替えがあった
・重要な画像の切り替えをした
などが考えられます。
・画像を切り替えた時 (強制終了に強いが、書き込みが多くなる)
・終了時+その他のトリガ (ハイブリッド)
などのタイミングで開いている画像をどこか (ファイル or レジストリ or サーバ など) に保存しておき、
ソフトを開いた時に保存した情報を読み出し、それに基づいて表示する画像を決定するようにするといいと思います。
「その他のトリガ」としては、
・最後の画像の切り替えから一定時間経過
・前回の保存から一定時間経過し、かつその間に画像の切り替えがあった
・重要な画像の切り替えをした
などが考えられます。
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: MFCについて
- 返信数: 2
- 閲覧数: 4860
- 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...
- 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の...
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: ロード画面の表示方法について
- 返信数: 4
- 閲覧数: 5406
Re: ロード画面の表示方法について
DXライブラリのデフォルトの画面サイズの640×480に対して
DrawRotaGraph2Fに渡している座標が大きすぎるように見えますが、
画像の内容も含めて適切な設定になっていますか?
DrawRotaGraph2Fに渡している座標が大きすぎるように見えますが、
画像の内容も含めて適切な設定になっていますか?
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: ロード画面の表示方法について
- 返信数: 4
- 閲覧数: 5406
Re: ロード画面の表示方法について
単にロードが直ぐに終わっているということではないですか?
当該モデルを同期で読み込むには、どのくらいの時間がかかりますか?
LoadCircleが表示される時間は、モデルの同期読み込みにかかる時間と比べてどうですか?
当該モデルを同期で読み込むには、どのくらいの時間がかかりますか?
LoadCircleが表示される時間は、モデルの同期読み込みにかかる時間と比べてどうですか?
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: Stringの配列がうまく作動しません
- 返信数: 3
- 閲覧数: 3956
Re: Stringの配列がうまく作動しません
配列内に/r/nを入れることで上記の問題は解決しました 配列内に/r/n (原文ママ) を入れるより、 取得したitemから余計なデータを取り除いてから検索した方がいい気がします。 中項目名に複数の項目が入っている場合、完全一致にならないためArray.IndexOfで不一致となってしまいます。 どのように解決できるのかご教示いただきたいです。 「中項目名に複数の項目が入っている場合」とは具体的にどのような状態かよくわからないですが、 データ構造に対応するプログラムで項目ごとに分割し、1個ずつ検索するといいかもしれません。 そもそも、毎回配列から線形探索するのではなく、 最初に配列から「文字...
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: 再掲、列車の走行位置プログラムを仕上げたい。
- 返信数: 3
- 閲覧数: 4090
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: 画像の更新が入らない
- 返信数: 2
- 閲覧数: 3590
Re: 画像の更新が入らない
関数 gpUpdateKey が呼ばれず、他に配列 Key の要素の値を変えている場所も無いので、
配列 Key の各要素の値は明示的に初期値が設定されていないグローバル変数の初期値の0であり、
x++; や x--; の前のif文の条件は真にならないですね。
配列 Key の各要素の値は明示的に初期値が設定されていないグローバル変数の初期値の0であり、
x++; や x--; の前のif文の条件は真にならないですね。
オフトピック
各画像を表示させるためには、1フレーム単位の正確な操作でxの値を求められる値にピッタリ合わせないといけない、
しかもこの判定以外にxに関する情報は(画面・音声・ファイル・ネットワークなどどこにも)出力しない…
ていう仕様でいいのかな?
しかもこの判定以外にxに関する情報は(画面・音声・ファイル・ネットワークなどどこにも)出力しない…
ていう仕様でいいのかな?
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: クラスの階層について
- 返信数: 2
- 閲覧数: 3436
Re: クラスの階層について
PLAYERクラスのメンバ変数x, yを初期化しないままDRAW関数内で座標として使っているため、
不定の値を参照し、画面外に描画されている可能性があります。
コンストラクタで使わないローカル変数の宣言と初期化を行うだけでなく、
メンバ変数x, yを適切な値に初期化する処理を追加するといいかもしれません。
もしくは、ALL関数またはDRAW関数でメンバ変数x, yの値を設定する方法も考えられるでしょう。
不定の値を参照し、画面外に描画されている可能性があります。
コンストラクタで使わないローカル変数の宣言と初期化を行うだけでなく、
メンバ変数x, yを適切な値に初期化する処理を追加するといいかもしれません。
もしくは、ALL関数またはDRAW関数でメンバ変数x, yの値を設定する方法も考えられるでしょう。
- 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バイト) ...
- 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カード ...
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: リスト構造体のソート
- 返信数: 5
- 閲覧数: 5704
- 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; を実行してしまい、危険です。 ...
- 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() 系の関数を使うのは不適切です。 ...
- 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++のつもりなのであれば、関数の作り方を学ん...
- 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...
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: [至急]DXライブラリで選択肢を作る方法を教えてください
- 返信数: 2
- 閲覧数: 5242
Re: [至急]DXライブラリで選択肢を作る方法を教えてください
そのコードを提示していただけますか?Ryushi さんが書きました: ↑1年前自分でも試みましたが全く動きませんでした。さらにswitch文の中で動かさないといけないので一瞬で選択肢が消えてしまいます。
ソースコードを提示する際は、BBCodeが有効な(無効にしない)状態で、
BBCodeのcodeタグの開始タグと終了タグの組(開始タグが先)で囲んでいただけると、
見やすくてありがたいです。
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: ソースファイルの分割について
- 返信数: 4
- 閲覧数: 6335
Re: ソースファイルの分割について
function.hでプロトタイプ宣言している関数群の実体は function.cにあるように見えます。ならば、function.hをインクルードすべきは test.cではなく、function.cの方ではないでしょうか。 これは違うと思います。 function.c にある関数群は、互いに他の関数を利用していないため、プロトタイプ宣言は不要です。 したがって、プロトタイプ宣言(とコメント)のみを含む function.h のインクルードは不要です。 ただし、インクルードすることにより、プロトタイプ宣言と実体の型が違ってしまった時に気付きやすくなるといったメリットは考えられます。 また、今後...
- 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...
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: C# カメラからキャプチャーした画像の処理について
- 返信数: 1
- 閲覧数: 3928
Re: C# カメラからキャプチャーした画像の処理について
52行目で画像を取得したMatを、133行目のmatSrcImageのかわりに顔認識処理の入力にすれば良さそうです。
Matを引数として顔認識処理をするメソッドを切り出すとやりやすいかもしれません。
Matを引数として顔認識処理をするメソッドを切り出すとやりやすいかもしれません。
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: exeファイル
- 返信数: 1
- 閲覧数: 3624
Re: exeファイル
自分がやった方が自分にとって嬉しい未来が待っていそうだと思うことをやるのが良さそうだと思います。
例えば、もしその事象を解消したいのであれば、事象の原因を調べ、その原因を取り除こうとするのがいいと思います。
例えば、もしその事象を解消したいのであれば、事象の原因を調べ、その原因を取り除こうとするのがいいと思います。
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: C言語 配列 数の大きさ
- 返信数: 4
- 閲覧数: 7798
Re: C言語 配列 数の大きさ
rank()「だけ」示されましても、 rank()を「どうやって」使っているかがこちらには全く伝わりません。 main()などを含め、書いたコードを「全部」見せてください。 main()を含めたコンパイル可能なコードが提示されていますが、これだけでは不満なのでしょうか? 「書いたコードを『全部』」とは、この問題に限らず、生まれてから今までに書いたコードを全部でしょうか? 間違っている点やアドバイスよろしくお願いします。 iが0以上n未満という同じループで、 main関数ではa[i+1]に読み込んでいるのに、rank関数ではa[i]の値を参照しているので、 ・不定の値a[0]を参照する ・読...
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: ISBNコードのルーンチェックサムを作成中です。
- 返信数: 4
- 閲覧数: 6916
Re: ISBNコードのルーンチェックサムを作成中です。
このような番号は、数値ではなく文字列として扱うべきです。
数値として扱ってしまうと、例えば 000012345678 (12桁) と 12345678 (8桁) を区別できず、誤判定の原因となります。
数値として扱ってしまうと、例えば 000012345678 (12桁) と 12345678 (8桁) を区別できず、誤判定の原因となります。
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: 画像が表示できない
- 返信数: 6
- 閲覧数: 8149
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: 画像が表示できない
- 返信数: 6
- 閲覧数: 8149
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: 画像が表示できない
- 返信数: 6
- 閲覧数: 8149
Re: 画像が表示できない
生文字列リテラルではない文字列リテラル中の \ はC++ではエスケープシーケンスとして解釈されるので、
\ を表すエスケープシーケンスの \\ を用いて とするといいかもしれません。
コンパイラが対応していれば、生文字列リテラルを用いて とも表現できます。
\ を表すエスケープシーケンスの \\ を用いて とするといいかもしれません。
コンパイラが対応していれば、生文字列リテラルを用いて とも表現できます。
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: 検索機能ができません
- 返信数: 4
- 閲覧数: 4407
Re: 検索機能ができません
ソースコードを提示する際は、BBCodeが有効な(無効にしない)状態で、 BBCodeのcodeタグの開始タグと終了タグの組(開始タグが先)で囲んでいただける と、 見やすくてありがたいです。 今のコードだと文字だけが表示されるのですが、数を表示する方法を知りたいです。 printfに渡す内容に表示したい「数」を追加すれば、数を表示できると思います。 printf("quantities 数"); とか printf("quantities %d", 42); とか。 現状では開いたファイルに対する操作は閉じる以外していないようですが、 これは「数を表示」できるようにした後で考えるのかな…? ...
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: 降順にソートする
- 返信数: 8
- 閲覧数: 13416
Re: 降順にソートする
n+1に対応する書式指定文字列が無いため、
%sにより整数n+1の値を文字列を指すポインタだと思い込んで出力しようとし、
未定義動作になります。
書式または引数を修正し、書式と引数がきちんと対応するようにしましょう。
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: 降順にソートする
- 返信数: 8
- 閲覧数: 13416
Re: 降順にソートする
ソースコードを提示する際は、BBCodeが有効な(無効にしない)状態で、 BBCodeのcodeタグの開始タグと終了タグの組(開始タグが先)で囲んでいただける と、 見やすくてありがたいです。 if ((f = fopen("dist.txt", "r")) == NULL) { printf("fileopen faile\n"); } ファイルオープンに失敗した場合でも、処理を続けてしまっています。 NULLがファイルポインタとしてファイル操作関数に渡され、実行時エラーの原因になります。 printfの後に return; などを追加し、処理を終了するようにしましょう。 for (n = ...
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: テキストファイルの在庫の更新
- 返信数: 5
- 閲覧数: 5621
Re: テキストファイルの在庫の更新
関数の引数として(voidを書かずに)空文字列を指定していることから、このコードはC++でしょうか?
C言語の場合、qaの各メンバの値が初期化されずに計算に使われ、未定義動作になる可能性があります。
C++の場合(開示されていない)struct quantityのコンストラクタなどで初期化されている可能性が考えられるので、
未初期化の値が使われると断定することはできません。
C言語の場合、qaの各メンバの値が初期化されずに計算に使われ、未定義動作になる可能性があります。
C++の場合(開示されていない)struct quantityのコンストラクタなどで初期化されている可能性が考えられるので、
未初期化の値が使われると断定することはできません。
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: テキストファイルの在庫の更新
- 返信数: 5
- 閲覧数: 5621
Re: テキストファイルの在庫の更新
ソースコードを提示する際は、BBCodeが有効な(無効にしない)状態で、 BBCodeのcodeタグの開始タグと終了タグの組(開始タグが先)で囲んでいただける と、 見やすくてありがたいです。 私の書いたコードはこちらなんですが、間違えているところともっといいやり方があれば教えてください。お願いします。 とりあえずパッと見で致命的に間違っていると考えられるのは ・fopenしたファイルをfcloseしていない ・amountの処理が不適切 ・switchの使い方が不適切 ですね。 fopenしたファイルをfcloseしていない そのまんまです。 開いたファイルは閉じるべきです。 開いたファイル...
- 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...
- 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="...
- 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」は存在しないから機能しないと考えられます。
- 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...
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: モバイルCとLua
- 返信数: 1
- 閲覧数: 3796
Re: モバイルCとLua
Lua言語をMobile CというGoogle storeやAppStoreにあるアプリで実行させたいのですが、Mobile CのLuaではバグがあって正しく動作しません、助けてください。 これはMobile Cを修正しろ、ということですか? もしくは、バグを踏まないようなworkaroundを考えろ、ということですか? 「正しく動作しません」とは、具体的に ・どのような状況で (入力・操作など) ・どのような動作を期待したのに ・実際にはどのような動作をする のですか? 下記のコードは1から100の数字がランダムに選ばれてその数字を10回以内に当てるゲームです。 解答の数字の後に毎回改行を...
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: クイックソート反映されない、というかエラーでる(; ;)
- 返信数: 5
- 閲覧数: 4480
Re: クイックソート反映されない、というかエラーでる(; ;)
どうしても自前でクイックソート(またはその他のソート)を実装したいですか?
標準ライブラリのstd::sortやqsortを利用するのではダメですか?
また、ループ内で毎回 をしてしまうと、前回確保してprepointに代入したバッファへの参照が失われ(メモリリーク)、
さらにこれまで読み込んだデータも参照できなくなります。
std::vectorを使った方がいいでしょう。
標準ライブラリのstd::sortやqsortを利用するのではダメですか?
また、ループ内で毎回 をしてしまうと、前回確保してprepointに代入したバッファへの参照が失われ(メモリリーク)、
さらにこれまで読み込んだデータも参照できなくなります。
std::vectorを使った方がいいでしょう。
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: char型とint型について
- 返信数: 2
- 閲覧数: 6392
Re: char型とint型について
ソースコードを提示する際は、BBCodeが有効な(無効にしない)状態で、 BBCodeのcodeタグの開始タグと終了タグの組(開始タグが先)で囲んでいただける と、 見やすくてありがたいです。 charは文字専用、intは整数専用と書いてありましたが、 そんなこと、どこに書いてありましたか? charもintも、幅(使うメモリの量、扱える数値の範囲)が違うだけで整数型です。 (また、int型は必ず符号付き、char型が符号付きかは環境による、という違いもあります) コンピュータにおいては、文字に数値(キャラクターコード)を割り当てて扱うことが一般的です。 下のコードはエラーなく動きます。 どう...
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: 2 の倍数でも 3 の倍数でもないものの和を求めたい
- 返信数: 4
- 閲覧数: 8464
Re: 2 の倍数でも 3 の倍数でもないものの和を求めたい
「a, bは正」や「a ≦ b」といった条件が無いので、これらを満たさない入力の処理にもう少し工夫が必要そうですね。
- 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)」の値を求めればいいでしょう。
今の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)」の値を求めればいいでしょう。
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: 条件式のelseの書き方
- 返信数: 10
- 閲覧数: 12190
Re: 条件式のelseの書き方
まず、未定義の識別子mojiおよびm、および未初期化の変数middleが使われているのが致命的ですね。 このような致命的なミスがあるにもかかわらず「行数は表示されます」ということは、 このコードではなく別のコードを実行していると考えられます。 意図通りのコードを実行するよう気をつけてください。 (例えばファイル名やディレクトリの間違い、およびコンパイル忘れに注意) その前でreturnしているので、18~21行目は実行されないダミーですね。 仮に関数mojiが副作用が無く整数を返す関数である場合、その返り値は必ず0または正または負なので、 61~62行目のelse句は実行されず、意味が無いです...
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: 授業でわからないところがあったので質問です
- 返信数: 2
- 閲覧数: 2630
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: C言語 再帰関数 総和問題
- 返信数: 7
- 閲覧数: 3991
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: 配列を使って様々な値を求める方法(素人質問ですみません)
- 返信数: 6
- 閲覧数: 10909
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: シューティングゲームの敵の弾を連続して発射
- 返信数: 4
- 閲覧数: 2772
Re: シューティングゲームの敵の弾を連続して発射
敵が連続して弾を発射するようなコードに書き換え、
(コンパイルが必要な言語であればコンパイルして)実行すればいいと思います。
(コンパイルが必要な言語であればコンパイルして)実行すればいいと思います。
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: C言語で数あてゲームを作りたい
- 返信数: 1
- 閲覧数: 2037
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: Makefileでのエラー
- 返信数: 1
- 閲覧数: 2226
Re: Makefileでのエラー
というのがもし本当だとすると、popopo516 さんが書きました: ↑1年前必要なファイルやディレクトリはちゃんとあります。
・本当は AcceptTCPConnection.o は利用しないはずのに、誤って利用するように書いてしまっている
・AcceptTCPConnection.c または AcceptTCPConnection.o を生成するためのルールを書き忘れた、誤って消したなどで抜けている
などが考えられます。
ただ、これが本当でないと考えるほうが自然でしょう。
参照されているファイルが「正しいファイル名で」(typo注意)「正しいディレクトリに」あるかを確認してください。
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: 3分木の実装について
- 返信数: 6
- 閲覧数: 6500
Re: 3分木の実装について
こちらではSegmentation Faultを再現できませんでした。
・コンパイルや実行をしているのが本当にこのコードかを確認してください。
・最新のコードを保存しましたか?
・作業ディレクトリは正しいですか?
・最新のコードをコンパイルしましたか?
・デバッガやprintfデバッグなどで、具体的にどこで落ちているかを確認してください。
・コンパイルや実行をしているのが本当にこのコードかを確認してください。
・最新のコードを保存しましたか?
・作業ディレクトリは正しいですか?
・最新のコードをコンパイルしましたか?
・デバッガやprintfデバッグなどで、具体的にどこで落ちているかを確認してください。
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: for文を使ったセーブ機能について
- 返信数: 5
- 閲覧数: 3265
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: for文を使ったセーブ機能について
- 返信数: 5
- 閲覧数: 3265
Re: for文を使ったセーブ機能について
ところで、Dateの内容を表示する時、「描画する位置に応じた要素」ではなく
「0番目または今回のループでGame_Save関数に渡した場所の要素」を使用しているのはなぜでしょうか?
「0番目または今回のループでGame_Save関数に渡した場所の要素」を使用しているのはなぜでしょうか?
- 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\...
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: C++20で多量のthreadを一括発行と自動同期する方法
- 返信数: 8
- 閲覧数: 3456
Re: C++20で多量のthreadを一括発行と自動同期する方法
難しい問題に多くの人に早く聞きたいですね。何が悪いの? フォーラムルール 違反です。 相互リンクすればマルチポストOK 相互リンクした場合のみ複数の掲示板で同じ質問しても OK 複数の掲示板で同じ質問をすることをマルチポストといい、大抵禁止されています。 しかし、ここでは相互リンクし、リンク先の掲示板でマルチポストが許されていれば マルチポストはOKとしています。複数の掲示板で同じ質問をするときは相互リンクし、 どこの掲示板で同じ質問をしているか明確にして下さい。 「 相互リンクした場合のみ 複数の掲示板で同じ質問しても OK」となっています。 今回の場合、相互リンクなしで複数の掲示板で同じ...
- 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 :...
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: 降順ソートのプログラムにしたい
- 返信数: 13
- 閲覧数: 13443
Re: 降順ソートのプログラムにしたい
昇順ソートのプログラムを作って、最後に配列の中身を逆順にする処理を入れれば、降順ソートになるでしょう。
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: 降順ソートのプログラムにしたい
- 返信数: 13
- 閲覧数: 13443
Re: 降順ソートのプログラムにしたい
すればいいでしょう。yunyun さんが書きました: ↑1年前降順にソートするプログラムに変更したいです。
質問はありますか?
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: ヒープソートの比較回数と交換回数
- 返信数: 15
- 閲覧数: 16050
- 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ずつ増やしながらループした直後...
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: ヒープソートの比較回数と交換回数
- 返信数: 15
- 閲覧数: 16050
Re: ヒープソートの比較回数と交換回数
ソートする要素の個数と思われる変数nがdownheap関数およびheapsort関数以外からは見えない位置に置かれており、
n = 0 のまま書き換えられていません。
よって、0個の要素をソートすることになり、比較関数および交換回数が0というのは正しい値です。
n = 0 のまま書き換えられていません。
よって、0個の要素をソートすることになり、比較関数および交換回数が0というのは正しい値です。
- 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になります。 提示されていない部分にバグがあるかもしれません。
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: RLC回路の数値計算がエクセルとずれてしまいます
- 返信数: 4
- 閲覧数: 6221
Re: RLC回路の数値計算がエクセルとずれてしまいます
ソースコードを提示する際は、BBCodeが有効な(無効にしない)状態で、
BBCodeのcodeタグの開始タグと終了タグの組(開始タグが先)で囲んでいただけると、
見やすくてありがたいです。
1/64 は整数同士の割り算なので、切り捨てられて0になります。
1.0/64 としてみてください。
BBCodeのcodeタグの開始タグと終了タグの組(開始タグが先)で囲んでいただけると、
見やすくてありがたいです。
1/64 は整数同士の割り算なので、切り捨てられて0になります。
1.0/64 としてみてください。
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: DXライブラリを使わずにタイトル画面とゲーム画面を作りたい
- 返信数: 4
- 閲覧数: 2825
Re: DXライブラリを使わずにタイトル画面とゲーム画面を作りたい
まずはあなたのプログラムを動かすターゲット、およびどうやって画面を出すかを決めましょう。 例えば ・パソコン (クライアント端末) の機械語で動かす ・一般的に使われるOSの上で動かす ・Windows API ・OpenCV ・SDL ・Qt ・一般的なOSは使わずに動かす ・BIOSから呼び出されるプログラム (0x7c00にロードされるやつが有名) ・UEFIアプリケーション ・Webブラウザ上に画面を出す ・CGI (サーバ側で動かす) ・WebAssembly (クライアント側で動かす) ・マイコンで動かす ・グラフィック液晶/有機EL (各種シリア...
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: ポインタとアドレス
- 返信数: 7
- 閲覧数: 8252
Re: ポインタとアドレス
関数の引数における int array[] は int* array を意味するシンタックスシュガーなので、
配列ではなくポインタの値のコピーが渡ることになります。
配列ではなくポインタの値のコピーが渡ることになります。
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: ポインタとアドレス
- 返信数: 7
- 閲覧数: 8252
Re: ポインタとアドレス
関数f2の引数gnは関数f1から渡される*gnのコピーなので、
関数f2内で引数gnを書き換えても関数f1における*gnには影響しません。
そして、関数mainのgnや関数f1の*gnを書き換えるコードは存在しないので、
関数main内の変数gnの値は初期化した時の0のままとなります。
関数f2内で引数gnを書き換えても関数f1における*gnには影響しません。
そして、関数mainのgnや関数f1の*gnを書き換えるコードは存在しないので、
関数main内の変数gnの値は初期化した時の0のままとなります。
- 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...
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: sqlite3_prepare_v2でエラー処理に入ってしまいます
- 返信数: 7
- 閲覧数: 8492
Re: sqlite3_prepare_v2でエラー処理に入ってしまいます
insert の対象である MY_DATA テーブルが無いためにエラーになっている可能性が考えられます。
参照している MY_DATA.db が(正しいディレクトリに)存在するか、
正しく MY_DATA テーブルを作ったか(テーブル名にtypoが無いかなど)を確認してください。
参照している MY_DATA.db が(正しいディレクトリに)存在するか、
正しく MY_DATA テーブルを作ったか(テーブル名にtypoが無いかなど)を確認してください。
- 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), ...
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: ナップサック問題について
- 返信数: 3
- 閲覧数: 1845
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: ナップサック問題について
- 返信数: 3
- 閲覧数: 1845
Re: ナップサック問題について
・knapsack関数の返り値 (重量) をv (価値) 系の変数に代入している
・再帰呼び出しにより ret_price が指す先に格納された値を無視している
・重量と価値を独立に比較し、小さくない方を採用している
というのがおかしいですね。
・再帰呼び出しする際、 ret_price にポインタを渡す用の新しい領域 (変数) を用意し、渡すようにする
・格納された値 (価値) を比較し、小さくない方が得られた方に対応する返り値 (重量) を採用するようにする
というようにすると改善するでしょう。
・再帰呼び出しにより ret_price が指す先に格納された値を無視している
・重量と価値を独立に比較し、小さくない方を採用している
というのがおかしいですね。
・再帰呼び出しする際、 ret_price にポインタを渡す用の新しい領域 (変数) を用意し、渡すようにする
・格納された値 (価値) を比較し、小さくない方が得られた方に対応する返り値 (重量) を採用するようにする
というようにすると改善するでしょう。
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: C言語でスリングショットゲーム
- 返信数: 2
- 閲覧数: 2519
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: C言語でカレンダー
- 返信数: 6
- 閲覧数: 8649
Re: C言語でカレンダー
ソースコードを提示する際は、BBCodeが有効な(無効にしない)状態で、
BBCodeのcodeタグの開始タグと終了タグの組(開始タグが先)で囲んでいただけると、
見やすくてありがたいです。
ググれば例がいっぱい出てきますね。
C言語 カレンダー - Google 検索
BBCodeのcodeタグの開始タグと終了タグの組(開始タグが先)で囲んでいただけると、
見やすくてありがたいです。
ググれば例がいっぱい出てきますね。
C言語 カレンダー - Google 検索