検索結果 6632 件

by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: 斜め入力を無効にしたい。
返信数: 4
閲覧数: 11349

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...
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: 斜め入力を無効にしたい。
返信数: 4
閲覧数: 11349

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...
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: 1フレーム押したときにだけ反応するようにしたのですが。。。
返信数: 2
閲覧数: 8491

Re: 1フレーム押したときにだけ反応するようにしたのですが。。。

修正前は、getPressingCount 関数内で pressingCount の更新をしているため、getPressingCount 関数を呼び出すたびに時間 (実質何フレーム目か) が進んでしまい、キーが押されたタイミングを見逃す可能性が発生します。
修正後は、getPressingCount 関数を呼び出しても pressingCount は更新されず、GetHitKeyStateAll_2 関数により1フレームに1回のみ時間を進めるので、キーが押されたタイミングを見逃さずにすみます。
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: FPSが45しか出ない
返信数: 2
閲覧数: 10890

Re: FPSが45しか出ない

でぶの極み重め さんが書きました:
1年前
FPSが45前後になってしまうのですが
DXライブラリを用いて描画先を裏画面にせずにScreenFlip(); を使った時に起こる現象かもしれないですね。
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: 画像管理のヘッダーファイルを作りたい
返信数: 7
閲覧数: 10963

Re: 画像管理のヘッダーファイルを作りたい

グローバル変数を初期化するための値の計算はエントリポイントとなる関数の呼び出しより前に行われるため、 画像を読み込む処理に必要なライブラリの初期化処理をエントリポイントとなる関数、 またはその関数から呼び出される関数で行っている場合、 その初期化処理より前に画像の読み込みが試みられてしまい、読み込みが失敗する原因となります。 以下のようなラッパーを作成し、画像の読み込みの前に必ずライブラリの初期化処理を行うようにすると改善するかもしれません。 void initializeLibrary(void) { static int inited = 0; if (!inited) { /* ライブラ...
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: zバッファの計算方法が分からない
返信数: 10
閲覧数: 12700

Re: zバッファの計算方法が分からない

猫の湯吞み さんが書きました:
1年前
添付する方法が分からないためファイル転送サービスを利用しています
ログインしているようなので、投稿画面 (クイック返信は除く) の本文を入力する欄に添付するファイルをドラッグ&ドロップすることで添付できるはずです。
ドラッグ&ドロップできない端末を利用している場合でも、下の「添付ファイル」をクリックすると出てくる「ファイル追加」から添付できると思います。
mixcpp-attach-20230426.png
添付ファイル欄
ガラケー用のUIを用いている場合は、申し訳ないですがわかりません。(まだサービス生きてるのかな…?)
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: 経路計算について
返信数: 4
閲覧数: 7219

Re: 経路計算について

・私はまず初めに配列を使えば何とかなると考えたのですが、配列内では加算か減算しかできず掛け算の変を通った時の処理のやり方がわかりません。 「演算の種類」と「演算の右辺」をまとめた構造体を用いることでデータを置けるでしょう。 たとえば、C言語なら /* 計算の種類を表す */ enum operation_e { ADD, SUB, MUL }; struct edge_s { enum operation_e operation; /* 計算の種類 */ int delta; /* 右オペランド */ }; /* 横方向の辺 */ struct edge_s horizontal_edges...
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: 2つの計算結果を一つのボタンで同時挙動させたいです。
返信数: 1
閲覧数: 6003

Re: 2つの計算結果を一つのボタンで同時挙動させたいです。

var button = document.getElementById("button"); var button = document.getElementById("button"); 同じことが2回書かれています。1個消したほうがいいでしょう。 button_2.addEventListener("click_2", function(e_2) { button_2 は定義されていません。 普通大人運賃と普通小児運賃の計算をボタン一つで計算する場合、どうしたらいいですか。 普通大人運賃と普通小児運賃の計算をボタン一つで計算するプログラムを書いて実行したらいいと思います。 たとえば、 ...
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: C言語のコードを再帰からメモ化にしたい
返信数: 3
閲覧数: 8478

Re: C言語のコードを再帰からメモ化にしたい

ソースコードを提示する際は、BBCodeが有効な(無効にしない)状態で
BBCodeのcodeタグの開始タグと終了タグの組(開始タグが先)で囲んでいただけると、
見やすくてありがたいです。
ワニ さんが書きました:
1年前
とあるonline judgeの問題を書きました。
制約が知りたいですが、問題文の一部でググってもここしか出なそうでわかりませんね…
C言語で動的計画法(ナップサック問題)を用いて最大出勤日を出す
(約1年前の質問で、コードも違うので、マルチポストではないでしょう)
ワニ さんが書きました:
1年前
時間計算量を削減するため、メモ化にしたいのです。
すればいいのではないでしょうか?
質問はありますか?
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: ランキングの実装がしたい
返信数: 5
閲覧数: 8021

Re: ランキングの実装がしたい

試していませんが、ブラウザ上でプレイできるようにできる可能性はあります。
DXライブラリ HTML5版を使ってブラウザで動くゲームを作ってみる (VSCode版, Windows) - Qiita
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: PHPですいません
返信数: 4
閲覧数: 7552

Re: PHPですいません

PHPが実行されず、ファイルの内容がブラウザにそのまま出力されているようですね。
HTTPサーバの設定がダメかもしれません。
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: c言語 二分探索木
返信数: 7
閲覧数: 11211

Re: c言語 二分探索木

ここではマルチポストは禁止行為ではありません。
相互リンクすればマルチポストOK
相互リンクした場合のみ複数の掲示板で同じ質問しても OK

複数の掲示板で同じ質問をすることをマルチポストといい、大抵禁止されています。

しかし、ここでは相互リンクし、リンク先の掲示板でマルチポストが許されていれば

マルチポストはOKとしています。複数の掲示板で同じ質問をするときは相互リンクし、

どこの掲示板で同じ質問をしているか明確にして下さい。
(フォーラムルールより引用)
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: c言語 二分探索木
返信数: 7
閲覧数: 11211

Re: c言語 二分探索木

addData 関数もおかしいですね。 まず、target_node を NULL と比較していますが、その前に無条件で target_node をデリファレンス (target_node->name にアクセス) しているので、この比較では未定義動作を避けられません。 target_node のデリファレンスの 前 に target_node が NULL かどうかをチェックするべきです。 次に、戻り値を代入する処理があるにもかかわらず、return 文がありません。 これでは、代入される値は不定となり、正常な処理ができる可能性が低くなるでしょう。 今回の場合、引数として与えられた targ...
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: c言語 二分探索木
返信数: 7
閲覧数: 11211

Re: c言語 二分探索木

質問はコンパイルエラー(問題文の下にあります)の原因とその解決方法、 コンパイルエラーの原因は、書かれている通り構造体でも共用体でもないp (ポインタ) に対し . 演算子を用いてメンバアクセスしようとしたことです。 解決方法は、left や right にアクセスするときと同様に -> 演算子を用いるといいでしょう。 ちなみに、このままでは p を初期化せずに p が指す構造体のメンバにアクセスしようとしているので、実行時にエラーになる可能性が高いでしょう。 二分探索木の構築の過程をprintf関数で表示する方法を教えてほしいです。 二分探索木の構築の過程をprintf関数で表示するプログ...
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: C言語 サブ関数 文字列
返信数: 3
閲覧数: 6978

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); ...
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: C言語 自然数x,yの合計値を求めるプログラム
返信数: 6
閲覧数: 18201

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 ...
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: C言語 自然数x,yの合計値を求めるプログラム
返信数: 6
閲覧数: 18201

Re: C言語 自然数x,yの合計値を求めるプログラム

関数 mysum を定義すればいいと思います。 関数 mysum の定義を、関数 main の定義があるファイルの関数 main の定義より前の部分に書く 関数 mysum の定義を、関数 main の定義があるファイルの関数 main の定義より後ろの部分に書き、同じファイルの関数 main の定義より前の部分に関数 mysum の宣言(プロトタイプ宣言)を書く 関数 mysum の定義を、関数 main の定義があるファイルとは別のソースファイルに書き、別途関数 mysum の宣言(プロトタイプ宣言)のみが書かれたヘッダファイルを作成し、関数 main の定義があるファイルからこのヘッダフ...
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: Windows.hをウェブでインクルードして試せるサイトって
返信数: 5
閲覧数: 8088

Re: Windows.hをウェブでインクルードして試せるサイトって

ここでコンパイルはできるようですが、実行までできる設定は今のところ見つけられていません。
Compiler Explorer
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: 敵キャラクターの当たり判定について
返信数: 4
閲覧数: 9018

Re: 敵キャラクターの当たり判定について

とりあえず
みあび さんが書きました:
1年前

コード:

	int U1 = y1;      // 上
	int D1 = y1 + w1; // 下(上+縦幅)
	int U2 = y2;      // 上
	int D2 = y2 + w2; // 下(上+縦幅)
縦幅も h じゃなくて w でいいんですかね…?
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: 大学の課題
返信数: 7
閲覧数: 9074

Re: 大学の課題

もしかして、検索する順位を読み込む前に「検索に要したループ数」に含まれない前処理をすることが許されるのかな…?

(そうでないと、そもそもデータがソートされていないので二分探索法は使えないはずですし…)
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: ウィンドウにテーブル参照したテキストを出力させる方法
返信数: 2
閲覧数: 6277

Re: ウィンドウにテーブル参照したテキストを出力させる方法

ソースコードを提示する際は、BBCodeが有効な(無効にしない)状態で、 BBCodeのcodeタグの開始タグと終了タグの組(開始タグが先)で囲んでいただける と、 見やすくてありがたいです。 WindowsでウィンドウにShift_JISで格納された文字列を描画するには、たとえば TextOutA関数 が有用です。 「うまくできません」とは、具体的にどううまくいかないのですか? たとえば ・コンパイルエラーになる ・強制終了する ・何も表示されない ・正常なデータだが、想定と違う位置のデータが表示される ・文字化けなどデタラメなデータが表示される ・最初のデータは想定通り表示されるが、最初の...
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: タイピングゲーム 入力動作に関して1
返信数: 5
閲覧数: 8119

Re: タイピングゲーム 入力動作に関して1

他の部分については既に回答がついているようなので、省略します。 赤い文字の表示を続けるには、たとえば間違えたときに赤い文字の描画の情報 (座標と描画する文字列) をリスト (std::vector、配列など) に格納し、それに基づいて描画をする方法が考えられます。 擬似コード 赤い文字の描画情報リスト = [] ループ { その他の部分を描画する 緑の文字を描画する 赤い文字の描画情報リストのそれぞれの要素 e について { e に基づいて赤い文字を描画する } 入力判定をする // 間違えたら赤い文字の描画情報リストに情報を追加する }
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: 数値を大きくすると動かなくなる
返信数: 8
閲覧数: 20566

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

絵にかいた餅 さんが書きました:
1年前
エラーメッセージは
”外部シンボル"public:static int(*shift::nurse_work)[30])"(?nurse_work@shift@@2PAY0BO@HA)は未解決です”となっています。
メンバの定義ではなく、インスタンスの定義 (構造体の変数宣言) に static をつけるとどうなりますか?
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: txtファイルを読み込んで配列に格納、計算、出力する
返信数: 2
閲覧数: 7922

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, ...
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: txtファイルを読み込んで配列に格納、計算、出力する
返信数: 2
閲覧数: 7922

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...
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: 数値を大きくすると動かなくなる
返信数: 8
閲覧数: 20566

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

「動かなくなる」というのは ・コンパイルが通らなくなる ・コンパイルは通るけど、実行すると異常終了する ・コンパイルは通り、実行でき、なかなか結果が出ない どれですか? また、「一定の数」というのはどの程度ですか? 数によっては、本当にメモリを使いすぎかもしれません。 目安として、1要素が4バイトの場合 1024×1024 → 4MiB 2048×2048 → 16MiB 8192×8192 → 256MiB 16384×16384 → 1GiB 32768×32768 → 4GiB 65536×65536 → 16GiB となります。 同じ要素数・要素のサイズの配列を複数用いる場合、記憶容量...
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: 2Dシューティング 操作キャラの向いている方向に弾を飛ばし続けたい
返信数: 2
閲覧数: 6395

Re: 2Dシューティング 操作キャラの向いている方向に弾を飛ばし続けたい

1. 存在状態や座標と同様に、それぞれの弾が飛ぶ角度を表す配列を追加する
2. 弾の発射時、その弾が飛ぶ角度を操作キャラの角度に設定する
3. 弾の移動時、操作キャラの角度ではなくその弾が飛ぶ角度を参照するようにする

ようにするといいと思います。
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: エラーについて
返信数: 1
閲覧数: 5955

Re: エラーについて

Stack around the variable 'data' was corrupted.
とのことなので、ローカル変数の配列の確保した範囲の外側に書き込むなどしてスタック上の変数 data 周辺のデータを破壊したことが原因と考えられます。
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: define で括弧付きの文字列を置き換える
返信数: 8
閲覧数: 8967

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 となっています。 (引用元:...
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: タイピングゲーム 入力動作に関して
返信数: 4
閲覧数: 7803

Re: タイピングゲーム 入力動作に関して

とりあえずループが何個もあってこんがらがっているようなので、状態変数を使った典型的な制御方法に直してみました。 これだけではうまく動きません。 また、 もとのプログラムではEscキーを押すと赤い文字が表示されるが、このプログラムはEscキーを押すと終了する もとのプログラムではウィンドウを閉じてもしばらくプロセスが残るが、このプログラムではすぐにプロセスが終了する というふうに動作が変わっています。 /* ヘッダファイル ---------------------------------------------------------------------------- */ #includ...
by みけCAT
1年前
フォーラム: C言語何でも質問掲示板
トピック: C言語 ロシアンルーレットについて
返信数: 4
閲覧数: 7708

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
閲覧数: 13168

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

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

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

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

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
閲覧数: 15072

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

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

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

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

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
2年前
フォーラム: C言語何でも質問掲示板
トピック: printfの有無によるsegmentation faultの発生について
返信数: 7
閲覧数: 16841

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
2年前
フォーラム: C言語何でも質問掲示板
トピック: カンマで区切られた文字を整数に変換したい
返信数: 13
閲覧数: 13712

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

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

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
2年前
フォーラム: C言語何でも質問掲示板
トピック: カンマで区切られた文字を整数に変換したい
返信数: 13
閲覧数: 13712

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
2年前
フォーラム: C言語何でも質問掲示板
トピック: C言語 ソートについて
返信数: 5
閲覧数: 13442

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
2年前
フォーラム: C言語何でも質問掲示板
トピック: 遺伝的アルゴリズムのトーナメント選択について
返信数: 6
閲覧数: 8115

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

-858993460 = 0xCCCCCCCC

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

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

Re: 配列

C言語なら

コード:

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

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

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

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

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

Re: 文字列を交互に

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

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

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

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

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

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

まりも。 さんが書きました:
2年前
同じ問題を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
2年前
フォーラム: C言語何でも質問掲示板
トピック: クリック回数を利用したループ
返信数: 4
閲覧数: 10359

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
2年前
フォーラム: C言語何でも質問掲示板
トピック: 乱数関数について
返信数: 5
閲覧数: 7938

Re: 乱数関数について

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

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

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

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

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

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

Re: scanfでのエラー

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

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
2年前
フォーラム: C言語何でも質問掲示板
トピック: 課題について
返信数: 2
閲覧数: 6787

Re: 課題について

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

Re: Segmentation fault

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

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

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

コード:

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

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

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

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

Re: MFCについて

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

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
2年前
フォーラム: C言語何でも質問掲示板
トピック: DXアーカイブファイルを使うの場合は"画像ファイルがありません"のエラーが起きしました。
返信数: 4
閲覧数: 7378

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
2年前
フォーラム: C言語何でも質問掲示板
トピック: ロード画面の表示方法について
返信数: 4
閲覧数: 7015

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

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

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

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

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

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

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

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

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

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

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

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

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
2年前
フォーラム: C言語何でも質問掲示板
トピック: ファイルの数字を読み取り代入する方法
返信数: 1
閲覧数: 4278

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

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

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

keep に NULL を代入した状態で

コード:

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

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
2年前
フォーラム: C言語何でも質問掲示板
トピック: char *とchar []
返信数: 1
閲覧数: 4441

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
2年前
フォーラム: C言語何でも質問掲示板
トピック: 7セグで0から9まで順番に出力するプログラム
返信数: 2
閲覧数: 5059

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

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

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
2年前
フォーラム: C言語何でも質問掲示板
トピック: [至急]DXライブラリで選択肢を作る方法を教えてください
返信数: 2
閲覧数: 7010

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

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

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

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

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
2年前
フォーラム: C言語何でも質問掲示板
トピック: C# カメラからキャプチャーした画像の処理について
返信数: 1
閲覧数: 4973

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

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

Re: exeファイル

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

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

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

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

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

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

Re: 画像が表示できない

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

コード:

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

コード:

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

コード:

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

Re: だめでした

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

コード:

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

コード:

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

Re: 画像が表示できない

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

コード:

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

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

コード:

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

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

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

Re: 降順にソートする

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

コード:

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

Re: 降順にソートする

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

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

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

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

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

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
2年前
フォーラム: C言語何でも質問掲示板
トピック: 2個目のfunctionが機能しないです。なぜですか。
返信数: 4
閲覧数: 7398

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
2年前
フォーラム: C言語何でも質問掲示板
トピック: 2個目のfunctionが機能しないです。なぜですか。
返信数: 4
閲覧数: 7398

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

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

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
2年前
フォーラム: C言語何でも質問掲示板
トピック: モバイルCとLua
返信数: 1
閲覧数: 4861

Re: モバイルCとLua

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

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

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

また、ループ内で毎回

コード:

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

Re: char型とint型について

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

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

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

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)」の値を求めればいいでしょう。

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