検索結果 6632 件
- 11ヶ月前
- フォーラム: C言語何でも質問掲示板
- トピック: 斜め入力を無効にしたい。
- 返信数: 4
- 閲覧数: 10096
Re: 斜め入力を無効にしたい。
後に押された方、すなわち押されてからの時間が短い方を有効にするといいかもしれません。 if( key.getPressingKey(KEY_INPUT_RIGHT) > 0 && ( // 右が押されている key.getPressingKey(KEY_INPUT_LEFT) == 0 || // 左は押されていない key.getPressingKey(KEY_INPUT_RIGHT) < key.getPressingKey(KEY_INPUT_LEFT) // 右の方が左より最近押された )) // 右 if( key.getPressingKey(KEY_INPUT_LEFT) > 0...
- 11ヶ月前
- フォーラム: C言語何でも質問掲示板
- トピック: 斜め入力を無効にしたい。
- 返信数: 4
- 閲覧数: 10096
Re: 斜め入力を無効にしたい。
こんな感じでしょうか? (コンパイル未確認) void Player::move() { int k[ 4 ] = { KEY_INPUT_RIGHT, KEY_INPUT_LEFT, KEY_INPUT_UP, KEY_INPUT_DOWN }; float moveX[ 4 ] = { mSpd, -mSpd, 0, 0, }; float moveY[ 4 ] = { 0, 0, -mSpd, mSpd }; float deltaX = 0, deltaY = 0; // まず左右の判定を行う for( int i = 0; i < 2; i++ ){ if( key.getPress...
- 11ヶ月前
- フォーラム: C言語何でも質問掲示板
- トピック: 1フレーム押したときにだけ反応するようにしたのですが。。。
- 返信数: 2
- 閲覧数: 7471
Re: 1フレーム押したときにだけ反応するようにしたのですが。。。
修正前は、getPressingCount 関数内で pressingCount の更新をしているため、getPressingCount 関数を呼び出すたびに時間 (実質何フレーム目か) が進んでしまい、キーが押されたタイミングを見逃す可能性が発生します。
修正後は、getPressingCount 関数を呼び出しても pressingCount は更新されず、GetHitKeyStateAll_2 関数により1フレームに1回のみ時間を進めるので、キーが押されたタイミングを見逃さずにすみます。
修正後は、getPressingCount 関数を呼び出しても pressingCount は更新されず、GetHitKeyStateAll_2 関数により1フレームに1回のみ時間を進めるので、キーが押されたタイミングを見逃さずにすみます。
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: FPSが45しか出ない
- 返信数: 2
- 閲覧数: 9861
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: 画像管理のヘッダーファイルを作りたい
- 返信数: 7
- 閲覧数: 9538
Re: 画像管理のヘッダーファイルを作りたい
グローバル変数を初期化するための値の計算はエントリポイントとなる関数の呼び出しより前に行われるため、 画像を読み込む処理に必要なライブラリの初期化処理をエントリポイントとなる関数、 またはその関数から呼び出される関数で行っている場合、 その初期化処理より前に画像の読み込みが試みられてしまい、読み込みが失敗する原因となります。 以下のようなラッパーを作成し、画像の読み込みの前に必ずライブラリの初期化処理を行うようにすると改善するかもしれません。 void initializeLibrary(void) { static int inited = 0; if (!inited) { /* ライブラ...
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: zバッファの計算方法が分からない
- 返信数: 10
- 閲覧数: 10730
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: 経路計算について
- 返信数: 4
- 閲覧数: 6433
Re: 経路計算について
・私はまず初めに配列を使えば何とかなると考えたのですが、配列内では加算か減算しかできず掛け算の変を通った時の処理のやり方がわかりません。 「演算の種類」と「演算の右辺」をまとめた構造体を用いることでデータを置けるでしょう。 たとえば、C言語なら /* 計算の種類を表す */ enum operation_e { ADD, SUB, MUL }; struct edge_s { enum operation_e operation; /* 計算の種類 */ int delta; /* 右オペランド */ }; /* 横方向の辺 */ struct edge_s horizontal_edges...
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: 2つの計算結果を一つのボタンで同時挙動させたいです。
- 返信数: 1
- 閲覧数: 5485
Re: 2つの計算結果を一つのボタンで同時挙動させたいです。
var button = document.getElementById("button"); var button = document.getElementById("button"); 同じことが2回書かれています。1個消したほうがいいでしょう。 button_2.addEventListener("click_2", function(e_2) { button_2 は定義されていません。 普通大人運賃と普通小児運賃の計算をボタン一つで計算する場合、どうしたらいいですか。 普通大人運賃と普通小児運賃の計算をボタン一つで計算するプログラムを書いて実行したらいいと思います。 たとえば、 ...
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: C言語のコードを再帰からメモ化にしたい
- 返信数: 3
- 閲覧数: 7651
Re: C言語のコードを再帰からメモ化にしたい
ソースコードを提示する際は、BBCodeが有効な(無効にしない)状態で、
BBCodeのcodeタグの開始タグと終了タグの組(開始タグが先)で囲んでいただけると、
見やすくてありがたいです。
C言語で動的計画法(ナップサック問題)を用いて最大出勤日を出す
(約1年前の質問で、コードも違うので、マルチポストではないでしょう)
質問はありますか?
BBCodeのcodeタグの開始タグと終了タグの組(開始タグが先)で囲んでいただけると、
見やすくてありがたいです。
制約が知りたいですが、問題文の一部でググってもここしか出なそうでわかりませんね…
C言語で動的計画法(ナップサック問題)を用いて最大出勤日を出す
(約1年前の質問で、コードも違うので、マルチポストではないでしょう)
すればいいのではないでしょうか?
質問はありますか?
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: ランキングの実装がしたい
- 返信数: 5
- 閲覧数: 7122
Re: ランキングの実装がしたい
試していませんが、ブラウザ上でプレイできるようにできる可能性はあります。
DXライブラリ HTML5版を使ってブラウザで動くゲームを作ってみる (VSCode版, Windows) - Qiita
DXライブラリ HTML5版を使ってブラウザで動くゲームを作ってみる (VSCode版, Windows) - Qiita
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: PHPですいません
- 返信数: 4
- 閲覧数: 6670
Re: PHPですいません
PHPが実行されず、ファイルの内容がブラウザにそのまま出力されているようですね。
HTTPサーバの設定がダメかもしれません。
HTTPサーバの設定がダメかもしれません。
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: c言語 二分探索木
- 返信数: 7
- 閲覧数: 9927
Re: c言語 二分探索木
ここではマルチポストは禁止行為ではありません。
(フォーラムルールより引用)相互リンクすればマルチポストOK
相互リンクした場合のみ複数の掲示板で同じ質問しても OK
複数の掲示板で同じ質問をすることをマルチポストといい、大抵禁止されています。
しかし、ここでは相互リンクし、リンク先の掲示板でマルチポストが許されていれば
マルチポストはOKとしています。複数の掲示板で同じ質問をするときは相互リンクし、
どこの掲示板で同じ質問をしているか明確にして下さい。
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: c言語 二分探索木
- 返信数: 7
- 閲覧数: 9927
Re: c言語 二分探索木
addData 関数もおかしいですね。 まず、target_node を NULL と比較していますが、その前に無条件で target_node をデリファレンス (target_node->name にアクセス) しているので、この比較では未定義動作を避けられません。 target_node のデリファレンスの 前 に target_node が NULL かどうかをチェックするべきです。 次に、戻り値を代入する処理があるにもかかわらず、return 文がありません。 これでは、代入される値は不定となり、正常な処理ができる可能性が低くなるでしょう。 今回の場合、引数として与えられた targ...
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: c言語 二分探索木
- 返信数: 7
- 閲覧数: 9927
Re: c言語 二分探索木
質問はコンパイルエラー(問題文の下にあります)の原因とその解決方法、 コンパイルエラーの原因は、書かれている通り構造体でも共用体でもないp (ポインタ) に対し . 演算子を用いてメンバアクセスしようとしたことです。 解決方法は、left や right にアクセスするときと同様に -> 演算子を用いるといいでしょう。 ちなみに、このままでは p を初期化せずに p が指す構造体のメンバにアクセスしようとしているので、実行時にエラーになる可能性が高いでしょう。 二分探索木の構築の過程をprintf関数で表示する方法を教えてほしいです。 二分探索木の構築の過程をprintf関数で表示するプログ...
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: C言語 サブ関数 文字列
- 返信数: 3
- 閲覧数: 6140
Re: C言語 サブ関数 文字列
引数に変数のポインタを渡してデータを格納させるバージョンです。 #include <stdio.h> #include <stdlib.h> void read_string(char** p_str); int main(void) { char *p_name = NULL; read_string(&p_name); if (p_name == NULL) return 1; printf("%s\n", p_name); free(p_name); return 0; } void read_string(char** p_str) { *p_str = calloc(16, 1); ...
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: C言語 自然数x,yの合計値を求めるプログラム
- 返信数: 6
- 閲覧数: 12729
Re: C言語 自然数x,yの合計値を求めるプログラム
関数 mysum を実装する前に、まずテストケース (入力とそれに対する期待する出力の組) を作っておく、という方法もあります。 例えば 入力1 5 5 出力1 数値を入力してください:数値を入力してください:5 から5 までの和は5 です¥n 入力2 1 5 出力2 数値を入力してください:数値を入力してください:1 から5 までの和は15 です¥n 入力3 10 5 出力3 数値を入力してください:数値を入力してください:10 から5 までの和は45 です¥n 入力4 2147483647 2147483647 出力4 数値を入力してください:数値を入力してください:2147483647 ...
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: C言語 自然数x,yの合計値を求めるプログラム
- 返信数: 6
- 閲覧数: 12729
Re: C言語 自然数x,yの合計値を求めるプログラム
関数 mysum を定義すればいいと思います。 関数 mysum の定義を、関数 main の定義があるファイルの関数 main の定義より前の部分に書く 関数 mysum の定義を、関数 main の定義があるファイルの関数 main の定義より後ろの部分に書き、同じファイルの関数 main の定義より前の部分に関数 mysum の宣言(プロトタイプ宣言)を書く 関数 mysum の定義を、関数 main の定義があるファイルとは別のソースファイルに書き、別途関数 mysum の宣言(プロトタイプ宣言)のみが書かれたヘッダファイルを作成し、関数 main の定義があるファイルからこのヘッダフ...
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: Windows.hをウェブでインクルードして試せるサイトって
- 返信数: 5
- 閲覧数: 7205
Re: Windows.hをウェブでインクルードして試せるサイトって
ここでコンパイルはできるようですが、実行までできる設定は今のところ見つけられていません。
Compiler Explorer
Compiler Explorer
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: 敵キャラクターの当たり判定について
- 返信数: 4
- 閲覧数: 8097
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: 大学の課題
- 返信数: 7
- 閲覧数: 7732
Re: 大学の課題
もしかして、検索する順位を読み込む前に「検索に要したループ数」に含まれない前処理をすることが許されるのかな…?
(そうでないと、そもそもデータがソートされていないので二分探索法は使えないはずですし…)
(そうでないと、そもそもデータがソートされていないので二分探索法は使えないはずですし…)
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: ウィンドウにテーブル参照したテキストを出力させる方法
- 返信数: 2
- 閲覧数: 5756
Re: ウィンドウにテーブル参照したテキストを出力させる方法
ソースコードを提示する際は、BBCodeが有効な(無効にしない)状態で、 BBCodeのcodeタグの開始タグと終了タグの組(開始タグが先)で囲んでいただける と、 見やすくてありがたいです。 WindowsでウィンドウにShift_JISで格納された文字列を描画するには、たとえば TextOutA関数 が有用です。 「うまくできません」とは、具体的にどううまくいかないのですか? たとえば ・コンパイルエラーになる ・強制終了する ・何も表示されない ・正常なデータだが、想定と違う位置のデータが表示される ・文字化けなどデタラメなデータが表示される ・最初のデータは想定通り表示されるが、最初の...
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: タイピングゲーム 入力動作に関して1
- 返信数: 5
- 閲覧数: 7050
Re: タイピングゲーム 入力動作に関して1
他の部分については既に回答がついているようなので、省略します。 赤い文字の表示を続けるには、たとえば間違えたときに赤い文字の描画の情報 (座標と描画する文字列) をリスト (std::vector、配列など) に格納し、それに基づいて描画をする方法が考えられます。 擬似コード 赤い文字の描画情報リスト = [] ループ { その他の部分を描画する 緑の文字を描画する 赤い文字の描画情報リストのそれぞれの要素 e について { e に基づいて赤い文字を描画する } 入力判定をする // 間違えたら赤い文字の描画情報リストに情報を追加する }
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: 数値を大きくすると動かなくなる
- 返信数: 8
- 閲覧数: 14866
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: txtファイルを読み込んで配列に格納、計算、出力する
- 返信数: 2
- 閲覧数: 7254
Re: txtファイルを読み込んで配列に格納、計算、出力する
また、通常の処理では致命的になる可能性は低いですが、少なくとも以下の行が不適切です。 FILE *fin1, *fin2, *fout; 一般に、無駄にグローバル変数を使うべきではないとされています。 今回の場合、 ・ポインタ3個だけなので、十分に小さいデータである可能性が高く、スタックに置いてもスタックオーバーフローを起こす可能性は十分低い ・main 関数でしか使用されない ため、グローバル変数ではなく main 関数のローカル変数にするべきでしょう。 fscanf(fin1, "%d %d %d", &a[i][0], &a[i][1], &a[i][2]); fscanf(fin2, ...
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: txtファイルを読み込んで配列に格納、計算、出力する
- 返信数: 2
- 閲覧数: 7254
Re: txtファイルを読み込んで配列に格納、計算、出力する
少なくとも以下の行が間違っています。 if (fin1 = NULL){ if (fin2 = NULL){ C言語において、= は代入演算子であり、fin1 や fin2 の値が NULL に設定されてしまいます。 そして、代入後の値である NULL に評価されます。 これは偽とみなされるので、チェックに引っかからず、ファイルポインタが NULL のまま処理が進んでしまい、強制終了の原因となります。 fout と同様に、比較演算子の == を用いるべきです。 for (i = 1; i <= NUM; i++){ 配列 all は 0~(NUM-1) の NUM 要素しかないので、all[N...
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: 数値を大きくすると動かなくなる
- 返信数: 8
- 閲覧数: 14866
Re: 数値を大きくすると動かなくなる
「動かなくなる」というのは ・コンパイルが通らなくなる ・コンパイルは通るけど、実行すると異常終了する ・コンパイルは通り、実行でき、なかなか結果が出ない どれですか? また、「一定の数」というのはどの程度ですか? 数によっては、本当にメモリを使いすぎかもしれません。 目安として、1要素が4バイトの場合 1024×1024 → 4MiB 2048×2048 → 16MiB 8192×8192 → 256MiB 16384×16384 → 1GiB 32768×32768 → 4GiB 65536×65536 → 16GiB となります。 同じ要素数・要素のサイズの配列を複数用いる場合、記憶容量...
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: 2Dシューティング 操作キャラの向いている方向に弾を飛ばし続けたい
- 返信数: 2
- 閲覧数: 5842
Re: 2Dシューティング 操作キャラの向いている方向に弾を飛ばし続けたい
1. 存在状態や座標と同様に、それぞれの弾が飛ぶ角度を表す配列を追加する
2. 弾の発射時、その弾が飛ぶ角度を操作キャラの角度に設定する
3. 弾の移動時、操作キャラの角度ではなくその弾が飛ぶ角度を参照するようにする
ようにするといいと思います。
2. 弾の発射時、その弾が飛ぶ角度を操作キャラの角度に設定する
3. 弾の移動時、操作キャラの角度ではなくその弾が飛ぶ角度を参照するようにする
ようにするといいと思います。
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: エラーについて
- 返信数: 1
- 閲覧数: 5467
Re: エラーについて
とのことなので、ローカル変数の配列の確保した範囲の外側に書き込むなどしてスタック上の変数 data 周辺のデータを破壊したことが原因と考えられます。Stack around the variable 'data' was corrupted.
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: define で括弧付きの文字列を置き換える
- 返信数: 8
- 閲覧数: 7733
Re: define で括弧付きの文字列を置き換える
C言語のプリプロセッサの #define の文法は # define identifier replacement-list new-line または # define identifier lparen identifier-listopt ) replacement-list new-line # define identifier lparen ... ) replacement-list new-line # define identifier lparen identifier-list , ... ) replacement-list new-line となっています。 (引用元:...
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: タイピングゲーム 入力動作に関して
- 返信数: 4
- 閲覧数: 6808
Re: タイピングゲーム 入力動作に関して
とりあえずループが何個もあってこんがらがっているようなので、状態変数を使った典型的な制御方法に直してみました。 これだけではうまく動きません。 また、 もとのプログラムではEscキーを押すと赤い文字が表示されるが、このプログラムはEscキーを押すと終了する もとのプログラムではウィンドウを閉じてもしばらくプロセスが残るが、このプログラムではすぐにプロセスが終了する というふうに動作が変わっています。 /* ヘッダファイル ---------------------------------------------------------------------------- */ #includ...
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: C言語 ロシアンルーレットについて
- 返信数: 4
- 閲覧数: 6794
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
- 閲覧数: 9513
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
- 閲覧数: 13486
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: ヒープソートについて
- 返信数: 9
- 閲覧数: 13486
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
- 閲覧数: 13486
Re: ヒープソートについて
これだけでは何が分からないのか (少なくとも自分には) わかりません。
そのプログラムを提示していただけますか?
ソースコードを提示する際は、BBCodeが有効な(無効にしない)状態で、
BBCodeのcodeタグの開始タグと終了タグの組(開始タグが先)で囲んでいただけると、
見やすくてありがたいです。
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: 大学の乱数についての課題
- 返信数: 8
- 閲覧数: 13129
Re: 大学の乱数についての課題
実行結果がずっと200という同じ値にしかなりません。どこを改善すればよいか教えていただきたいです。 ・scanfs という関数はC言語の標準ライブラリに無いので、scanfに置換する ・指定された書式に合った入力を与える ことで、200でない値を出力させることができました。 改善するべき点は与える入力であると予想します。 また、scanfの戻り値により、期待する数の入力を読み込めたかをチェックするべきです。 https://wandbox.org/permlink/8K0G5iQN7f5A8TTi boy = 0; girl = 0; これらの変数を0で初期化している箇所、 ループの「中」で...
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: 大学の乱数についての課題
- 返信数: 8
- 閲覧数: 13129
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
- 閲覧数: 11585
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
- 閲覧数: 12201
Re: カンマで区切られた文字を整数に変換したい
ポインタというものは,少しハードルが高くポインタを用いないで解決できるプログラムはできないでしょうか? C言語では、式中の配列はsizeofとともに用いるなどの例外を除いて先頭要素へのポインタに変換されます。 X[Y] は、*((X) + (Y)) という意味の糖衣構文(シンタックスシュガー)です。 したがって、C言語ではポインタを用いずに配列の要素にアクセスするのは無理であると考えられます。 すなわち、ポインタを用いるのを回避するためにはC言語以外を使うのがいいでしょう。 Rubyで実装してみました。 dat = [] dat[0]='1' dat[1]=',' dat[2]='2' da...
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: カンマで区切られた文字を整数に変換したい
- 返信数: 13
- 閲覧数: 12201
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
- 閲覧数: 12201
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
- 閲覧数: 9725
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
- 閲覧数: 7369
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: 配列
- 返信数: 2
- 閲覧数: 5774
Re: 配列
C言語なら
のような感じでできるでしょう。
Man page of MEMMOVE
Man page of MEMMOVE
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: 組み合わせ?のプログラムの考え方が分かりません!!
- 返信数: 14
- 閲覧数: 10699
Re: 組み合わせ?のプログラムの考え方が分かりません!!
再帰で、 ・今考えている長さを切り出し、また同じ長さについて考える ・今考えている長さは切り出さず、次の長さについて考える をするといいと思います。 Python で実装してみました。 def compute(sourceLength, targetLengthList): ans = [] # 全ての切り取る長さの候補を試し終わった if len(targetLengthList) == 0: return [[]] # 今の切り取る長さの候補を試す if targetLengthList[0] <= sourceLength: # この長さを切り取った後のパターンを生成する puttern...
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: 配列での文字列の扱いについて
- 返信数: 3
- 閲覧数: 6417
Re: 配列での文字列の扱いについて
エラーとは直接関係無さそうですが、2点気になるところがありました。 scanf() の書式 %s は char* 型のデータを要求するので、配列へのポインタ &ans (char(*)[100] 型) ではなく配列の戦闘要素へのポインタ ans (これは配列だが、sizeof などの例外を除いて式中では先頭要素へのポインタに変換される) を渡すべきである log を「あなたの回答」というメッセージとともに出力しているが、log には入力されたデータではなくあらかじめ用意された正解のデータが格納されている (あえて一般的でない正解にして意地悪をするなど) クイズの正解をどうするかは自由だと思うけ...
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: 文字列を交互に
- 返信数: 11
- 閲覧数: 13752
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: 何故、引数にconstがついているのか
- 返信数: 2
- 閲覧数: 9891
Re: 何故、引数にconstがついているのか
ソースコードを提示する際は、BBCodeが有効な(無効にしない)状態で、
BBCodeのcodeタグの開始タグと終了タグの組(開始タグが先)で囲んでいただけると、
見やすくてありがたいです。
この場合、s2「が指しているもの」の値を変更したらダメ、という意味です。
実際、s2++ でs2の値は変更されていますよね。
BBCodeのcodeタグの開始タグと終了タグの組(開始タグが先)で囲んでいただけると、
見やすくてありがたいです。
違います。
この場合、s2「が指しているもの」の値を変更したらダメ、という意味です。
実際、s2++ でs2の値は変更されていますよね。
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: 列車走行位置を完成させたいです。
- 返信数: 1
- 閲覧数: 5719
Re: 列車走行位置を完成させたいです。
ソースコードを提示する際は、BBCodeが有効な(無効にしない)状態で、 BBCodeのcodeタグの開始タグと終了タグの組(開始タグが先)で囲んでいただける と、 見やすくてありがたいです。 [] ではなく <> を使用した <code> や </code> は、BBCodeのcodeタグではありません。 まず1案目として以下を考案しました。 これでは、return weekdayFlag; の時点でこの関数の実行が終了するため、 hoodayFlag の情報は返りません。 また、この関数は常に true を返します。 2案目として、 (中略) と書きましたが、これは画面が真っ青になりました...
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: クリック回数を利用したループ
- 返信数: 4
- 閲覧数: 9376
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: クリック回数を利用したループ
- 返信数: 4
- 閲覧数: 9376
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: 乱数関数について
- 返信数: 5
- 閲覧数: 7066
Re: 乱数関数について
srand関数 は、引数の値に基づいてこの後出す乱数の系列を決定します。 この値として秒単位の時刻を与えると、処理は通常1秒に100万回以上実行されるため、 高い確率で毎回同じ値が引数となり、その結果毎回同じ乱数の系列が用いられます。 よって、同じ系列なので、その最初の値も同じとなります。 なお、「サブルーチン内にいれてはいけない」というのは不正確です。 1度だけ実行されるようにする仕組みを入れることで、srandをサブルーチン内に入れても毎回初期化せずに乱数を利用することができます。 int nrand(int x) { static int initialized = 0; int y;...
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: ポインタを用いた配列要素数の調べ方
- 返信数: 9
- 閲覧数: 9949
Re: ポインタを用いた配列要素数の調べ方
さらに、「helloからcount要素進んだ位置の値を読んでチェックする」処理の前に「countの値を増やす」処理を置いてしまうと、0文字の文字列 (最初の要素がヌル文字) が与えられた時にヌル文字を見逃してしまうので、よくないですね。
「要素数」ということは、カウントにはヌル文字の分も含めるのでしょうか?
「要素数」ということは、カウントにはヌル文字の分も含めるのでしょうか?
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: ポインタを用いた配列要素数の調べ方
- 返信数: 9
- 閲覧数: 9949
Re: ポインタを用いた配列要素数の調べ方
ソースコードを提示する際は、BBCodeが有効な(無効にしない)状態で、 BBCodeのcodeタグの開始タグと終了タグの組(開始タグが先)で囲んでいただける と、 見やすくてありがたいです。 strではなくhelloではないですか? あと*(str + count);では値を加算していることになります。 アドレスを進めなくてはなりません。 str を hello に置き換えれば、hello + count でポインタ hello から count 要素進んだ位置を参照し、 *() でその位置の値を読んでいるので、正しいです。 あとは、読んだ値がヌル文字かをチェックするなどの処理があると良さそ...
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: scanfでのエラー
- 返信数: 3
- 閲覧数: 9333
Re: scanfでのエラー
もしくは、1以上3以下でループし、添字を[i]のかわりに[i-1]にしてもいいです。
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: ポインタ アドレス
- 返信数: 6
- 閲覧数: 7308
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
- 閲覧数: 6200
Re: 課題について
何をお願いするのですか?
課題の丸投げは禁止です。
投稿は、フォーラムルールを読み、それに沿ったものをお願いします。
課題の丸投げは禁止です。
投稿は、フォーラムルールを読み、それに沿ったものをお願いします。
オフトピック
例えば「フォーラムルールを読み、それに沿った質問をお願いします。」と書いてしまうと、
質問なんか無い投稿者に質問することを要求して余計な負担をかけてしまうかもしれない…
質問なんか無い投稿者に質問することを要求して余計な負担をかけてしまうかもしれない…
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: Segmentation fault
- 返信数: 2
- 閲覧数: 5913
Re: Segmentation fault
printf("デバッグ"); による出力がバッファに残ったまま書き出されずに強制終了している可能性があります。 printf("デバッグ\n"); のように改行を追加してみてください。 printf("デバッグ"); fflush(stdout); のように出力をフラッシュする処理を入れると、より確実でしょう。 デバッグ:429 デバッグ:429 が表示できているということは while(p->next!=NULL){ は落ちずに実行できており、この時の p の値に問題は無さそうですね。 そしてここから if(p->value==pivot){ までの間に p の値を書き換えるコードは無い...
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: こちら、列車の走行位置のプログラムを作っています。
- 返信数: 1
- 閲覧数: 5574
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: 画像や動画の切り替え方法
- 返信数: 7
- 閲覧数: 9145
Re: 画像や動画の切り替え方法
・終了時 (無駄な書き込みを避けられるが、強制終了に弱い)
・画像を切り替えた時 (強制終了に強いが、書き込みが多くなる)
・終了時+その他のトリガ (ハイブリッド)
などのタイミングで開いている画像をどこか (ファイル or レジストリ or サーバ など) に保存しておき、
ソフトを開いた時に保存した情報を読み出し、それに基づいて表示する画像を決定するようにするといいと思います。
「その他のトリガ」としては、
・最後の画像の切り替えから一定時間経過
・前回の保存から一定時間経過し、かつその間に画像の切り替えがあった
・重要な画像の切り替えをした
などが考えられます。
・画像を切り替えた時 (強制終了に強いが、書き込みが多くなる)
・終了時+その他のトリガ (ハイブリッド)
などのタイミングで開いている画像をどこか (ファイル or レジストリ or サーバ など) に保存しておき、
ソフトを開いた時に保存した情報を読み出し、それに基づいて表示する画像を決定するようにするといいと思います。
「その他のトリガ」としては、
・最後の画像の切り替えから一定時間経過
・前回の保存から一定時間経過し、かつその間に画像の切り替えがあった
・重要な画像の切り替えをした
などが考えられます。
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: MFCについて
- 返信数: 2
- 閲覧数: 5608
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: DXアーカイブファイルを使うの場合は"画像ファイルがありません"のエラーが起きしました。
- 返信数: 4
- 閲覧数: 6595
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
- 閲覧数: 6595
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
- 閲覧数: 6364
Re: ロード画面の表示方法について
DXライブラリのデフォルトの画面サイズの640×480に対して
DrawRotaGraph2Fに渡している座標が大きすぎるように見えますが、
画像の内容も含めて適切な設定になっていますか?
DrawRotaGraph2Fに渡している座標が大きすぎるように見えますが、
画像の内容も含めて適切な設定になっていますか?
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: ロード画面の表示方法について
- 返信数: 4
- 閲覧数: 6364
Re: ロード画面の表示方法について
単にロードが直ぐに終わっているということではないですか?
当該モデルを同期で読み込むには、どのくらいの時間がかかりますか?
LoadCircleが表示される時間は、モデルの同期読み込みにかかる時間と比べてどうですか?
当該モデルを同期で読み込むには、どのくらいの時間がかかりますか?
LoadCircleが表示される時間は、モデルの同期読み込みにかかる時間と比べてどうですか?
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: Stringの配列がうまく作動しません
- 返信数: 3
- 閲覧数: 4824
Re: Stringの配列がうまく作動しません
配列内に/r/nを入れることで上記の問題は解決しました 配列内に/r/n (原文ママ) を入れるより、 取得したitemから余計なデータを取り除いてから検索した方がいい気がします。 中項目名に複数の項目が入っている場合、完全一致にならないためArray.IndexOfで不一致となってしまいます。 どのように解決できるのかご教示いただきたいです。 「中項目名に複数の項目が入っている場合」とは具体的にどのような状態かよくわからないですが、 データ構造に対応するプログラムで項目ごとに分割し、1個ずつ検索するといいかもしれません。 そもそも、毎回配列から線形探索するのではなく、 最初に配列から「文字...
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: 再掲、列車の走行位置プログラムを仕上げたい。
- 返信数: 3
- 閲覧数: 4821
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: 画像の更新が入らない
- 返信数: 2
- 閲覧数: 4301
Re: 画像の更新が入らない
関数 gpUpdateKey が呼ばれず、他に配列 Key の要素の値を変えている場所も無いので、
配列 Key の各要素の値は明示的に初期値が設定されていないグローバル変数の初期値の0であり、
x++; や x--; の前のif文の条件は真にならないですね。
配列 Key の各要素の値は明示的に初期値が設定されていないグローバル変数の初期値の0であり、
x++; や x--; の前のif文の条件は真にならないですね。
オフトピック
各画像を表示させるためには、1フレーム単位の正確な操作でxの値を求められる値にピッタリ合わせないといけない、
しかもこの判定以外にxに関する情報は(画面・音声・ファイル・ネットワークなどどこにも)出力しない…
ていう仕様でいいのかな?
しかもこの判定以外にxに関する情報は(画面・音声・ファイル・ネットワークなどどこにも)出力しない…
ていう仕様でいいのかな?
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: クラスの階層について
- 返信数: 2
- 閲覧数: 4105
Re: クラスの階層について
PLAYERクラスのメンバ変数x, yを初期化しないままDRAW関数内で座標として使っているため、
不定の値を参照し、画面外に描画されている可能性があります。
コンストラクタで使わないローカル変数の宣言と初期化を行うだけでなく、
メンバ変数x, yを適切な値に初期化する処理を追加するといいかもしれません。
もしくは、ALL関数またはDRAW関数でメンバ変数x, yの値を設定する方法も考えられるでしょう。
不定の値を参照し、画面外に描画されている可能性があります。
コンストラクタで使わないローカル変数の宣言と初期化を行うだけでなく、
メンバ変数x, yを適切な値に初期化する処理を追加するといいかもしれません。
もしくは、ALL関数またはDRAW関数でメンバ変数x, yの値を設定する方法も考えられるでしょう。
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: LoadGraph関数で画像を読み込むときにエラーが発生する
- 返信数: 2
- 閲覧数: 4302
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
- 閲覧数: 3855
Re: ファイルの数字を読み取り代入する方法
まずは仕様を決めましょう。 ・何を用いて読み込む? ・よくあるプログラミング言語 (C言語、Python、Rust、アセンブリ言語、など) ・RPA、ノーコードツールなど? ・など ・読み込む環境は? ・OSは? (Windows / Linux / OS X / Android / iOS / 自作 / なし など) ・ハードウェアは? (x86 / M1 Mac / Arduino / Raspberry Pi など) ・など? ・ファイルを読み込む方法は? ・既存のライブラリやAPI(システムコールを含む)を呼び出す ・自分で実装する ・MMCカード / SDカード ...
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: リスト構造体のソート
- 返信数: 5
- 閲覧数: 6897
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: リスト構造体のソート
- 返信数: 5
- 閲覧数: 6897
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
- 閲覧数: 4028
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
- 閲覧数: 4563
Re: 7セグで0から9まで順番に出力するプログラム
ソースコードを提示する際は、BBCodeが有効な(無効にしない)状態で、 BBCodeのcodeタグの開始タグと終了タグの組(開始タグが先)で囲んでいただける と、 見やすくてありがたいです。 間違えを教えて頂きたいです。 このプログラム?の言語は何でしょうか? C言語やC++では、 int num (0)=LATBbits.LATB4 = 1; のような書き方はしません。 (少なくとも普通はしないと思います) また、C言語やC++の識別子の最初の文字に数字は使えないので、 0(); のような書き方はできません。 もしこのプログラム?がC言語またはC++のつもりなのであれば、関数の作り方を学ん...
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: テキストを暗号化し復号するコードを作ったのですが
- 返信数: 5
- 閲覧数: 5681
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
- 閲覧数: 6229
Re: [至急]DXライブラリで選択肢を作る方法を教えてください
そのコードを提示していただけますか?Ryushi さんが書きました: ↑1年前自分でも試みましたが全く動きませんでした。さらにswitch文の中で動かさないといけないので一瞬で選択肢が消えてしまいます。
ソースコードを提示する際は、BBCodeが有効な(無効にしない)状態で、
BBCodeのcodeタグの開始タグと終了タグの組(開始タグが先)で囲んでいただけると、
見やすくてありがたいです。
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: ソースファイルの分割について
- 返信数: 4
- 閲覧数: 7660
Re: ソースファイルの分割について
function.hでプロトタイプ宣言している関数群の実体は function.cにあるように見えます。ならば、function.hをインクルードすべきは test.cではなく、function.cの方ではないでしょうか。 これは違うと思います。 function.c にある関数群は、互いに他の関数を利用していないため、プロトタイプ宣言は不要です。 したがって、プロトタイプ宣言(とコメント)のみを含む function.h のインクルードは不要です。 ただし、インクルードすることにより、プロトタイプ宣言と実体の型が違ってしまった時に気付きやすくなるといったメリットは考えられます。 また、今後...
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: Dxlibの表示された文字の消し方
- 返信数: 4
- 閲覧数: 5384
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...
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: C# カメラからキャプチャーした画像の処理について
- 返信数: 1
- 閲覧数: 4542
Re: C# カメラからキャプチャーした画像の処理について
52行目で画像を取得したMatを、133行目のmatSrcImageのかわりに顔認識処理の入力にすれば良さそうです。
Matを引数として顔認識処理をするメソッドを切り出すとやりやすいかもしれません。
Matを引数として顔認識処理をするメソッドを切り出すとやりやすいかもしれません。
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: exeファイル
- 返信数: 1
- 閲覧数: 4205
Re: exeファイル
自分がやった方が自分にとって嬉しい未来が待っていそうだと思うことをやるのが良さそうだと思います。
例えば、もしその事象を解消したいのであれば、事象の原因を調べ、その原因を取り除こうとするのがいいと思います。
例えば、もしその事象を解消したいのであれば、事象の原因を調べ、その原因を取り除こうとするのがいいと思います。
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: C言語 配列 数の大きさ
- 返信数: 4
- 閲覧数: 9295
Re: C言語 配列 数の大きさ
rank()「だけ」示されましても、 rank()を「どうやって」使っているかがこちらには全く伝わりません。 main()などを含め、書いたコードを「全部」見せてください。 main()を含めたコンパイル可能なコードが提示されていますが、これだけでは不満なのでしょうか? 「書いたコードを『全部』」とは、この問題に限らず、生まれてから今までに書いたコードを全部でしょうか? 間違っている点やアドバイスよろしくお願いします。 iが0以上n未満という同じループで、 main関数ではa[i+1]に読み込んでいるのに、rank関数ではa[i]の値を参照しているので、 ・不定の値a[0]を参照する ・読...
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: ISBNコードのルーンチェックサムを作成中です。
- 返信数: 4
- 閲覧数: 8306
Re: ISBNコードのルーンチェックサムを作成中です。
このような番号は、数値ではなく文字列として扱うべきです。
数値として扱ってしまうと、例えば 000012345678 (12桁) と 12345678 (8桁) を区別できず、誤判定の原因となります。
数値として扱ってしまうと、例えば 000012345678 (12桁) と 12345678 (8桁) を区別できず、誤判定の原因となります。
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: 画像が表示できない
- 返信数: 6
- 閲覧数: 9726
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: 画像が表示できない
- 返信数: 6
- 閲覧数: 9726
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: 画像が表示できない
- 返信数: 6
- 閲覧数: 9726
Re: 画像が表示できない
生文字列リテラルではない文字列リテラル中の \ はC++ではエスケープシーケンスとして解釈されるので、
\ を表すエスケープシーケンスの \\ を用いて とするといいかもしれません。
コンパイラが対応していれば、生文字列リテラルを用いて とも表現できます。
\ を表すエスケープシーケンスの \\ を用いて とするといいかもしれません。
コンパイラが対応していれば、生文字列リテラルを用いて とも表現できます。
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: 検索機能ができません
- 返信数: 4
- 閲覧数: 5148
Re: 検索機能ができません
ソースコードを提示する際は、BBCodeが有効な(無効にしない)状態で、 BBCodeのcodeタグの開始タグと終了タグの組(開始タグが先)で囲んでいただける と、 見やすくてありがたいです。 今のコードだと文字だけが表示されるのですが、数を表示する方法を知りたいです。 printfに渡す内容に表示したい「数」を追加すれば、数を表示できると思います。 printf("quantities 数"); とか printf("quantities %d", 42); とか。 現状では開いたファイルに対する操作は閉じる以外していないようですが、 これは「数を表示」できるようにした後で考えるのかな…? ...
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: 降順にソートする
- 返信数: 8
- 閲覧数: 16296
Re: 降順にソートする
n+1に対応する書式指定文字列が無いため、
%sにより整数n+1の値を文字列を指すポインタだと思い込んで出力しようとし、
未定義動作になります。
書式または引数を修正し、書式と引数がきちんと対応するようにしましょう。
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: 降順にソートする
- 返信数: 8
- 閲覧数: 16296
Re: 降順にソートする
ソースコードを提示する際は、BBCodeが有効な(無効にしない)状態で、 BBCodeのcodeタグの開始タグと終了タグの組(開始タグが先)で囲んでいただける と、 見やすくてありがたいです。 if ((f = fopen("dist.txt", "r")) == NULL) { printf("fileopen faile\n"); } ファイルオープンに失敗した場合でも、処理を続けてしまっています。 NULLがファイルポインタとしてファイル操作関数に渡され、実行時エラーの原因になります。 printfの後に return; などを追加し、処理を終了するようにしましょう。 for (n = ...
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: テキストファイルの在庫の更新
- 返信数: 5
- 閲覧数: 6736
Re: テキストファイルの在庫の更新
関数の引数として(voidを書かずに)空文字列を指定していることから、このコードはC++でしょうか?
C言語の場合、qaの各メンバの値が初期化されずに計算に使われ、未定義動作になる可能性があります。
C++の場合(開示されていない)struct quantityのコンストラクタなどで初期化されている可能性が考えられるので、
未初期化の値が使われると断定することはできません。
C言語の場合、qaの各メンバの値が初期化されずに計算に使われ、未定義動作になる可能性があります。
C++の場合(開示されていない)struct quantityのコンストラクタなどで初期化されている可能性が考えられるので、
未初期化の値が使われると断定することはできません。
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: テキストファイルの在庫の更新
- 返信数: 5
- 閲覧数: 6736
Re: テキストファイルの在庫の更新
ソースコードを提示する際は、BBCodeが有効な(無効にしない)状態で、 BBCodeのcodeタグの開始タグと終了タグの組(開始タグが先)で囲んでいただける と、 見やすくてありがたいです。 私の書いたコードはこちらなんですが、間違えているところともっといいやり方があれば教えてください。お願いします。 とりあえずパッと見で致命的に間違っていると考えられるのは ・fopenしたファイルをfcloseしていない ・amountの処理が不適切 ・switchの使い方が不適切 ですね。 fopenしたファイルをfcloseしていない そのまんまです。 開いたファイルは閉じるべきです。 開いたファイル...
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: 2つ目のjsが正常に動きません。なぜですか。
- 返信数: 2
- 閲覧数: 4532
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...
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: 2個目のfunctionが機能しないです。なぜですか。
- 返信数: 4
- 閲覧数: 6602
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="...
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: 2個目のfunctionが機能しないです。なぜですか。
- 返信数: 4
- 閲覧数: 6602
Re: 2個目のfunctionが機能しないです。なぜですか。
ソースコードを提示する際は、BBCodeが有効な(無効にしない)状態で、 BBCodeのcodeタグの開始タグと終了タグの組(開始タグが先)で囲んでいただける と、 見やすくてありがたいです。 <>を用いた<code>や</code>は、BBCodeのcodeタグではありません。 2個目のfunctionが機能しないです。なぜですか。 投稿内容から文字列「function」を検索したところ、 コードと思われる部分では function semboku_kotae() の function しか見つかりませんでした。 よって、「2個目のfunction」は存在しないから機能しないと考えられます。
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: 天下茶屋と深井の運賃が正確に出ない。
- 返信数: 6
- 閲覧数: 10413
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...
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: モバイルCとLua
- 返信数: 1
- 閲覧数: 4405
Re: モバイルCとLua
Lua言語をMobile CというGoogle storeやAppStoreにあるアプリで実行させたいのですが、Mobile CのLuaではバグがあって正しく動作しません、助けてください。 これはMobile Cを修正しろ、ということですか? もしくは、バグを踏まないようなworkaroundを考えろ、ということですか? 「正しく動作しません」とは、具体的に ・どのような状況で (入力・操作など) ・どのような動作を期待したのに ・実際にはどのような動作をする のですか? 下記のコードは1から100の数字がランダムに選ばれてその数字を10回以内に当てるゲームです。 解答の数字の後に毎回改行を...
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: クイックソート反映されない、というかエラーでる(; ;)
- 返信数: 5
- 閲覧数: 5291
Re: クイックソート反映されない、というかエラーでる(; ;)
どうしても自前でクイックソート(またはその他のソート)を実装したいですか?
標準ライブラリのstd::sortやqsortを利用するのではダメですか?
また、ループ内で毎回 をしてしまうと、前回確保してprepointに代入したバッファへの参照が失われ(メモリリーク)、
さらにこれまで読み込んだデータも参照できなくなります。
std::vectorを使った方がいいでしょう。
標準ライブラリのstd::sortやqsortを利用するのではダメですか?
また、ループ内で毎回 をしてしまうと、前回確保してprepointに代入したバッファへの参照が失われ(メモリリーク)、
さらにこれまで読み込んだデータも参照できなくなります。
std::vectorを使った方がいいでしょう。
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: char型とint型について
- 返信数: 2
- 閲覧数: 7520
Re: char型とint型について
ソースコードを提示する際は、BBCodeが有効な(無効にしない)状態で、 BBCodeのcodeタグの開始タグと終了タグの組(開始タグが先)で囲んでいただける と、 見やすくてありがたいです。 charは文字専用、intは整数専用と書いてありましたが、 そんなこと、どこに書いてありましたか? charもintも、幅(使うメモリの量、扱える数値の範囲)が違うだけで整数型です。 (また、int型は必ず符号付き、char型が符号付きかは環境による、という違いもあります) コンピュータにおいては、文字に数値(キャラクターコード)を割り当てて扱うことが一般的です。 下のコードはエラーなく動きます。 どう...
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: 2 の倍数でも 3 の倍数でもないものの和を求めたい
- 返信数: 4
- 閲覧数: 10135
Re: 2 の倍数でも 3 の倍数でもないものの和を求めたい
「a, bは正」や「a ≦ b」といった条件が無いので、これらを満たさない入力の処理にもう少し工夫が必要そうですね。
- 2年前
- フォーラム: C言語何でも質問掲示板
- トピック: 2 の倍数でも 3 の倍数でもないものの和を求めたい
- 返信数: 4
- 閲覧数: 10135
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)」の値を求めればいいでしょう。