検索結果 1881 件

by usao
10ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: zバッファの計算方法が分からない
返信数: 10
閲覧数: 8435

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

ところで,UPされた図を見ると,
x,y,z の成分が丸出しで入り乱れた感じの数式が書いてありますが,
ベクトル演算の形で書いた方が(紙の上での数式も,実装も)大分楽になるんじゃないかと思います.
オフトピック
仮に「ベクトルがどうの」いう数学自体に慣れてないみたいな感じなのだとしても,
コレ系の話の説明とかは普通はベクトルを用いて行われてるんじゃないかと思うので,
慣れといた方がいいんじゃないかな,とか.
by usao
10ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: zバッファの計算方法が分からない
返信数: 10
閲覧数: 8435

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

一般に(?)は,前者の側の話をよく見る気がします. (空間上の三角形の像が三角形になる世界を扱っているならば) 3頂点の画像への投影位置さえ求めればそれでピクセル座標上の三角形の範囲がわかるわけで, ピクセル座標上で三角形の内側の画素だけを処理するならば(空間上でも内側なことは自明なわけだから)画素毎にいちいち内外判定をする必要が無く,効率的だからでしょう. そういうのを抜きにして画素毎に独立して内外判定していくのはレイトレーシング法な方向ですね. --- > どちらがいいのか あなたの状況次第で ・今々処理効率を突き詰めるべきところなのか ・とりあえず実装が楽な側で動く状態を用意できれば当面...
by usao
11ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: zバッファの計算方法が分からない
返信数: 10
閲覧数: 8435

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

(かえって面倒な話になってしまった感! なので…)
結局,ピクセル座標系におけるスキャンライン上の各画素について

ピクセル座標 → ray → 三角形上の座標

って素直に計算するのが楽か.

・三角形(が乗る平面)から原点(視点)までの距離 d
・三角形の法線 N
・ray の方向を示す単位方向ベクトル t

に対して,
s * tN 方向成分が d になるようなスカラー s を求める感じで.
by usao
11ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: zバッファの計算方法が分からない
返信数: 10
閲覧数: 8435

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

おおっと! 「ピクセル座標」という言葉だとダメだ.Sorry.

(L,y) とかは,正規化座標系(? 正しい言葉がわからないが)における「スクリーン座標(? 〃)」とでも言うかだ.
当然,考えているのは Orthogonal な投影だよ.
つまり,本当の意味での「ピクセル座標」から前記「スクリーン座標」を求める処理は必要なハズ.
by usao
11ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: zバッファの計算方法が分からない
返信数: 10
閲覧数: 8435

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

> zバッファ と言っているということは,三角形をラスタライズする処理をしているってことだよね? で,その処理とは ピクセル座標でのあるスキャンライン(水平線)に関して言えば 「(L,y) から (R,y) までを塗る」ような話になるハズ. (ここで,LとRは そのy座標における三角形範囲の両端のx座標) このとき,この両端点 (L,y)と(R,y) に対応する3次元空間上の点の座標 Q L , Q R は簡単に求まるよね(3次元の三角形の辺上の座標になる). で,描画対象が三角形(平面)なのだから,この2点を結ぶ線分上の座標値の変化は線形だよね(辺上の座標を求めたのと全く同じ理屈だ). 例え...
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: 構造体には上限がある?
返信数: 6
閲覧数: 5781

Re: 構造体には上限がある?

「コードは どこぞのものと ほぼ同じ」とか言われても…… 【そのどこぞのコードそのままであれば正常に動作し,且つ,あなたの現コードは正常に動作しない】という話なのであれば, あなたのコードが示されない限り,他者に原因がわかるわけがない…と思わない? --- で,あなたの1000行を超える現コード全体を丸ごと提示せねばならないと考えているならば,それもまた間違っている. コードを他者に見せるしかない状況なのであれば,見せるべき範囲を絞り込む作業をまずは実施すべき. (問題に 関係ある部分/ない部分 がどこなのかが全く見当も付かないなんてことはないでしょう?) あるいは本物のコードではなく,全く同...
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: c言語 二分探索木
返信数: 7
閲覧数: 7789

Re: c言語 二分探索木

by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: c言語 二分探索木
返信数: 7
閲覧数: 7789

Re: c言語 二分探索木

// 基本問題2 要素追加関数
// 引数: target_node ... 評価するノード
// 引数: add_node ... 追加しようとしているノード
// 返り値: 構造体へのポインタ
// 動作: target_node と add_node を比べて処理する
これ,問題の原文そのものなの?
全体的にイミフすぎる.

> 返り値: 構造体へのポインタ

とか,情報量ゼロすぎるだろ…… 何を返すんだよ?
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: DxLib サイコロのプログラムに関する質問です。
返信数: 10
閲覧数: 4446

Re: DxLib サイコロのプログラムに関する質問です。

> (2) 画像関係に何故配列を使わないのか?

そのライブラリには DrawRectGraph() なる関数があるみたいだから,コレ使うのも良いかも.
(:「6つの画像のどれを描画するか」じゃなくて「1つの画像のどの部分を描画するか」という話になる)
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: DxLib サイコロのプログラムに関する質問です。
返信数: 10
閲覧数: 4446

Re: DxLib サイコロのプログラムに関する質問です。

> Zキーを押すとサイコロの画像がランダムに一枚ずつ切り替わり、再度Zキーを押すとランダムにサイコロの画像が一枚表示され(静止)、Cキーを押すと終了 この文章だけからでは 状態の種類(個数)が微妙に不明瞭だけど… (状態1)最初の状態 (このとき何が表示されるのか? とかは明言されていないが) Zキーを押すと状態2に遷移する. (状態2)Zキーを1回押した状態 サイコロの絵がランダムに切り替わる状態. Zキーを押すと状態3に遷移する. (状態3)Zキーを2回押した状態 サイコロの絵のいずれか1つが表示され続ける状態. ここでCキーを押すと終了. (それ以外の操作は無いのかな? 例えば,再び状態...
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: DxLib サイコロのプログラムに関する質問です。
返信数: 10
閲覧数: 4446

Re: DxLib サイコロのプログラムに関する質問です。

それはそうと,

(1) 変数名がイミフすぎて読むのがつらい.
「i1」とか「Random2」とか字面から意味を推測できない名前をあえて使う理由は何か?
他者から見たらまるで暗号だ.
もちろん言語的には自由に付けても良いのだし,ご自身が把握できているなら,(他者に見せない限りは)問題ないのだが.

(2) 画像関係に何故配列を使わないのか?(Key の側では使ってるのに)
配列使えば if で6分岐している系のコードのサイズがおおよそ1/6になるのでは?
(同じ事を繰り返し6回書いている時点でうんざりしない?)

とか.
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: DxLib サイコロのプログラムに関する質問です。
返信数: 10
閲覧数: 4446

Re: DxLib サイコロのプログラムに関する質問です。

gpUpdateKey() なる関数によって Key なる配列の内容が更新されること VS Key なる配列の内容を見て処理を実施すること のタイミングの問題なんじゃない? 分かりやすく極端な例の話をすれば,最初に一回しか gpUpdateKey() を実施しないとしたら, きっと Key の内容をチェックして処理分岐しようとしている個所の動作は所望のタイミングで動かないよね. 今,gpUpdateKey() の呼び出しは while のところにあるから,このループの繰り返し毎に呼ばれるわけだ. 言い方を変えれば「繰り返し毎に1回しか実施しない」. それでループ内の記述が所望のタイミングで動け...
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: 分割コンパイルの問題なのですが全くわかりません。
返信数: 9
閲覧数: 4322

Re: 分割コンパイルの問題なのですが全くわかりません。

ここでのやりとりを放棄したのかもしれんが… この手の場所で質問するときは,本当にわからないところ(:そこさえどうにかなれば進めることができそうな事柄)を具体的にダイレクトに正直に訊くのが良いと思うよ. 「こういう課題があって,とくかくわからん」みたいなぼんやりとした話を書くと,まず「何がわからんということなのか?」という話から無駄にやりとりすることになって肝心の本来の話が全く進まない. あと,(ここに限らずこれ系の場所では)本人が努力した形跡が示されない場合にはまともに関わらない的なスタンスの人も多い(?)気がするから 問題文だけを提示して問うていくスタイルは上策とは言えないんじゃないかな.
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: 分割コンパイルの問題なのですが全くわかりません。
返信数: 9
閲覧数: 4322

Re: 分割コンパイルの問題なのですが全くわかりません。

> 提出の期限も近く とのことだったが,大丈夫だったのかな? この手の掲示板的な箇所は即応性が無いから時間が無いときは圧倒的に使いにくいハズ. 「授業」であればそれを受けている他者に訊くのが最速且つ最善手だと思う. 自分で調べてどうにかするなら 「makefile 書き方」とかでググれば丁寧な解説がいくつも見つかるハズ. まずは最も手っ取り早いと見える書き方(「まず各ソースからオブジェクトファイルをつくってさぁ…次に…」というような書き方じゃなくてダイレクトに「これらのソースファイル群から実行形式作って」っていう1行な記述)を採用すれば最低限OKかと思うが. Cのソースの側については,最初か...
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: Unity ScriptableObjectの保存
返信数: 1
閲覧数: 2557

Re: Unity ScriptableObjectの保存

オフトピック
> C言語何でも質問掲示板

なるこの場所において,その話に有益なレスポンスが付くのかどうか私にはわかりませんが,
ちょっと待ってみてもダメそうな場合には(そのことを正当なマルチポストの理由とする形で)Unityの話が普通に扱われている場所(SOとかteratailとか?)で訊くのが良いのかもしれない…とか思いました.
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: 分割コンパイルの問題なのですが全くわかりません。
返信数: 9
閲覧数: 4322

Re: 分割コンパイルの問題なのですが全くわかりません。

「分割コンパイル」が問題なのであれば
C側の実装の話ではなくて makefile の書き方等の側が問題なのだと思うので
makefile についてググるとかした方が早いのでは?
(私もmakeとか使ったの大昔すぎていちいちググらないと無理だな…まったく覚えてない)
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: 大学の課題
返信数: 7
閲覧数: 6087

Re: 大学の課題

問題文の日本語が不自由すぎてイミフ! というパターンは困りますね.

まぁ,「データ数の半分」と「二分探索法」という話から,なんとなく二分探索の探索処理の回数的な事柄を示しているんだろうな的な気はしないでもないですが,不明瞭すぎる.
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: 敵キャラクターの当たり判定について
返信数: 4
閲覧数: 6529

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

(そしたら,引数 h1,h2 は何のためにあるんですかね?)
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: 大学の課題
返信数: 7
閲覧数: 6087

Re: 大学の課題

「ループ回数」と言われたならば,
普通は(?)上記のループに関しては,データの個数がNならば「N回」と言うと思う(そしたらこの時点でもう指定回数を超えてしまっているからNGとなるのかな?).

でも
「ループ数」と言われると,これは何のことなのか…?
日本語的に素直に捉えると 【ループ の 個数】 という意味になりそうだが,それだとその個数を制限するというのは意味不明な指定と思えるし…
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: 大学の課題
返信数: 7
閲覧数: 6087

Re: 大学の課題

> 試行回数(検索に要したループ数)

について:
例えば仮にデータの有効値が 0~100 なのだとして…

「各データ値が何個存在したか?」を数えるための 101 個のカウンタを(配列として)用意することを考えるとしたら,
このカウンタ群の値を確定させる処理の実装としては,データ値たる配列 a に関するループを書くことになるだろう.
for( aの全要素 ){ ++カウンタ配列のデータ値番目の要素; }
みたいな.

この場合,このループのことを 何回 と数えるのだろうか?
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: 大学の課題
返信数: 7
閲覧数: 6087

Re: 大学の課題

見た感じ,データ値の有効な値域に関する前提が存在する物と思われ,その点も明示されると良いのかもしれません.
(0~100 とかそんな値? とりあえず -999 という値が有効なデータ値ではないものとされているようではあるが)
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: 大学の課題
返信数: 7
閲覧数: 6087

Re: 大学の課題

あと

> 試行回数(検索に要したループ数)

というのは,一体何のことなのか…?
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: 大学の課題
返信数: 7
閲覧数: 6087

Re: 大学の課題

> [1.4] 今何がわからないのか、知りたいのか が述べられていないように見えます. (単に,問題文を書いているだけであり,具体的に何が 不明点/困っている事柄 なのかは書かれていないように見受ける) また,状況に関する確認ですが, > [1.2] どのように取り組んだか(プログラムコードがある場合記載) のところで提示されたコードの中で【あなたが取り組んだところ】とはどこなのですか? 提示コード全てですか?(すなわち,問題文は データ値=配列aの内容 しか指定していない,という話?) それとも,何らかの未完成のコードが用意されていてそこから出発せよ的な話ですか?(…という場合もあるかな,と...
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: タイピングゲーム 入力動作に関して1
返信数: 5
閲覧数: 5580

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

> goto

今のコードでループがたくさん並んでいることを改めるのが分かりやすいような気もする.
たとえば

コード:

while( ... )  //単一のループ
{
  if( 初回のスペースキー待ち状態なら ){ ... }
  else if( ポーズ中なら ){ ... }
  else{ ゲーム処理 }
}
とかいう形に組み替えれば,ifで判定している何か(:現状態を示す変数とか)を更新してやればそれでやることが切り替わるので,gotoは要らなくなるだろう.
状態の初期化のような処理は関数にでもしてしまえばリセットしたい箇所では単にその関数を呼んでやればいいし.
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: タイピングゲーム 入力動作に関して1
返信数: 5
閲覧数: 5580

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

・文字化け → 変な表示状態での変数値等を調べて何が起こっているかを把握されたい.
・制限時間 → 制限されるべきは「ゲーム状態下で経過した時間」なのであって,「現在時刻 - 開始時刻」ではない,という点をまずは認識すべき.
・赤の表示 → しばらく表示し続けたいなら「赤いのを表示するか否かフラグ」でも用意して制御してみてはどうか.
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: タイピングゲーム 入力動作に関して1
返信数: 5
閲覧数: 5580

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

コードをちょっと眺めた感じでしかないけども… > 文字化け random_lot の決め方に問題があるのでは? GetRand() 関数の戻り値の範囲を誤解しているとか. あと,ループの前とループ内とでは処理が異なっている(ループ内でのみ ++ している)のも怪しい気がする. > Escキーを押した後何故タイムはカウントダウンし続けるのか? 【ループ直前の時間 ~ 現在の時間】の経過時間を見ているだけでは ポーズ中の期間が考慮されていないから,でしょう. > 間違った箇所の入力が一瞬、僅かな時間だけしか赤で表示されない 赤で表示する条件が「間違った入力をされたとき」限定になっているからでしょう...
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: タイピングゲーム 入力動作に関して
返信数: 4
閲覧数: 5547

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

> ……したいと考えてますがどうにも上手く行かず困っています これで赤の他人にあなたの抱えている問題が伝わると思いますか? 「上手く行かない」とだけ言われても読み手にとっては情報量ゼロに等しいです. ……というような事柄をまずはちゃんと考えてください. このような場所で質問する際だけでなく,プログラムを作る際にも同様に. すなわち,あるべき動作とは何か? というような事柄を,まずはあなた自身があなた自身に対して「実装できるレベルの具体性を有する説明」を行うことから始めてください. 「間違ったところ」 だとか 「入力しきった瞬間」 だとかいうのでは曖昧すぎます. 「間違った」とは? 「入力しきっ...
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: C言語 ロシアンルーレットについて
返信数: 4
閲覧数: 5454

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

おっと,うっかり (2) と (3) とで出力書式が異なっているが,まぁどうでもいいところだ.
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: C言語 ロシアンルーレットについて
返信数: 4
閲覧数: 5454

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

弾の場所が決まったならばその時点で勝敗が確定する話なので, 【弾の場所を決める → 勝敗を表示する】 だけで良いのではないか? とか思えるが, 一応それっぽく(?)途中経過を表示したいという話なのであれば,単に表示すればよいだけであろう. すなわち, 【弾の場所を決める → 経過っぽいものを表示する → 勝敗を表示する】 として,間に表示処理を挟めばいい. //弾の位置を決定する処理.1~6の何れかを返す. int RandomizeBulletPos() { //※実際には疑似乱数でも使って実装されたい return 3; } int main(void) { const char *Nam...
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: 3dグラフィックライブラリの自作について
返信数: 8
閲覧数: 4505

Re: 3dグラフィックライブラリの自作について

オフトピック
素人すぎて何言ってるのかさっぱり理解できない者からの感想ですが……
「今現在直面している具体的な問題とは何なのか?」を述べた方が良いのでは? とか思いました.
何かいろんな要素(言葉)が並んでいるように見えるので,

・グラフィックを扱うこと自体?
・3Dであること?(仮に2Dならば問題ないというなら,3Dであることで何が問題になる?)
・「簡易的」であること?
・「ライブラリ」をつくること?
・「自作OS」の上で動作せねばならないこと?
・etc

…のどの要素が本当の問題なのかが読み手にわからないように思います.
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: 大学の乱数についての課題
返信数: 8
閲覧数: 10373

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

それはそれとして,本来の解がわからんというのでは,何をもって結果の成否を判断するのであろうか?
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: 大学の乱数についての課題
返信数: 8
閲覧数: 10373

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

> b = b / 100;

100で除す理由は何なの?
「平均」を求めるなら試行回数で除すべきちゃうん?
オフトピック
あと,少なくとも他人にコード見せる必要が生じたならば,aだのbだのいう無意味な変数名をまともな名称にしてから投稿すべき.
それを行ったうえでも,他人に「今現在まともに動かないコード」だけを示して「本来の」処理内容を推測させよう,というのはどうなのか? と思うが.
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: C言語のソートの問題について
返信数: 3
閲覧数: 2910

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

とりあえずぱっと見で, selection_sort() 関数内にあるループ

> for (int j = i + 1; j < i; j++)

の条件がおかしいよね.
j = i+1 から始まって,ループ条件が j<i だから,いきなり条件を満たさない.


あと,今々着目している範囲の先頭要素がその範囲の最小値である場合には Swap しなくていい.
(何か Swap の回数を数えているみたいだから,ここが問われるかも?)
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: C言語 ソートについて
返信数: 5
閲覧数: 7775

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

「'@' ではない文字群を先頭側に集めて,残りを '@' で埋める」と見えるので それを素直にやればいいんじゃないかと思う. ・上記の作業に swap なんていう処理をどこで使うのか不明なので,未使用とする. ・main() 関数内にさりげなく仕掛けられているトラップ n の解決が馬鹿馬鹿しい. //この関数は必要性不明につき,使わぬ. void swap(char *a, char *b) {} //せっかくだからこれは使っておくが,コレ関数にする意味あるか? bool is_at(char c){ return c=='@'; } //「C言語での」boolについて知らんから,これでいいの...
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: すいません・・・
返信数: 5
閲覧数: 3555

Re: すいません・・・

> 本気で学びに来られてる方 であれば,いきなり答え(動くコードとか)を投下されたとしても,それを「参考材料」にするだろうと思うので, 「そのコードで動くようだが,ここの記述が何書いてるのかわからんので解説プリーズ」だとか 「自分はこの問題ではこのような措置を入れないとならないと考えているが,提示されたコードでは特にそのような対応らしき処理が見当たらないのに正常に動く様子.どうなってるの?」だとか 「この部分はこうでもよいのではないかと思うのだけど,実際どうすかね?」だとか… それなりのやりとりになるんじゃないかな? とか. で,丸投げ君の場合だと,ヒントとかを書いても意味はなくて,とにかく...
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: すいません・・・
返信数: 5
閲覧数: 3555

Re: すいません・・・

…というわけで(?),公式的/ルール的な面についてはさておき…

本来的には,
自分の質問に書き込まれた話の内容とか書いた人の態度とかが「なんか合わない/違う/めんどくせぇ/etc」とかいう場合には,
質問者がその旨を意思表示すれば良いだけなんじゃないかな,と思います.

私はかなり好き勝手やってるせいか,
「おまえは俺の質問には一切書込みをするな」みたくダイレクトに伝えてくれた人もいますよ.

そういう意思表示を受けてから→それに応じて対応を変える,とかでも良いんじゃないかな,と.
(相手が答えだけ欲しいのかヒント的な話が欲しいのか,みたいなところは最初からはわからないわけですし)
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: すいません・・・
返信数: 5
閲覧数: 3555

Re: すいません・・・

単純に,ご自身のスタンスでやればよいのではないかな,とか思います. (公式的には「フォーラム(掲示板)ルール」に書かれていることが全てでしょうから,そこを読んだ雰囲気で判断なされれれば良いのではないでしょうか.) 「直接的な答えを書かないこと= 意地悪」ではないだろう,と思うのですが, こういう場所で質問をする側の人はそのように捉えがちな傾向が優位にあるように見えるので,あまり引っ張ると嫌がられる率が高い様子です. あと,何故か質問した人がそれ以降のレスポンスを一切してこない率は割と高い気がするので,あえてヒント的な事柄を書き込んでみたところで,それ以降に正常なやりとりが行われる率は極めて低い...
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: 画像の切り替え
返信数: 5
閲覧数: 3540

Re: 画像の切り替え

複数の画像を順繰りに切り替えたい,とかなら,例えばこんなのが簡単か. // //なんかこんなデータがあって… // //N個の画像データ constexpr int N = 5; ImageType Imgs[N] = { ... }; //画像データの型も初期化方法も不明だが //今現在表示すべき画像を示す変数 int CurrImgIndex = 0; //今現在表示すべきは Imgs[CurrImgIndex] である. // //そしたら表示部分はこんな話だろう // //Ims[CurrImgIndex] を表示する ShowImage( Ims[CurrImgIndex] ); /...
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: 画像の切り替え
返信数: 5
閲覧数: 3540

Re: 画像の切り替え

> エンターキーを押すと画像が切り替わるプログラムが組みたい という話が出ているということは,現時点で 単純に画像を表示することは できる/できている のだと推測する. ↓ そしたら, ・画像データを2個にする ・画像を表示している個所を,【「何らかの仕組みによって」前記2個の画像データのうちのいずれかを表示する】という形にする ・エンターキーが押されたときに,前記の「何らかの仕組み」に適切に作用する処理を実施する みたいな話にすれば良かろう. 具体的にどのように実現するのかについては底なしに自由であろうが, 例えば,「何らかの仕組み」のところを 「ある bool 型変数の値が true なの...
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: 配列
返信数: 2
閲覧数: 4731

Re: 配列

まず,10に9を入れ,
次に,9に8を入れ,
次に,8に7の入れ…

最後に 2に1を入れる

ということをすれば良いのではないでしょうか.
(とりあえず愚直に9個の代入を書けばいける → 気に入らないならループでも使って書く)
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: 組み合わせ?のプログラムの考え方が分かりません!!
返信数: 14
閲覧数: 8155

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

> 7 通り

最初に {5} とかも例示されている,すなわち,(ぴったり10にする必要は無くて)余りを出してもいいという話だと思うから違うんじゃない?
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: 組み合わせ?のプログラムの考え方が分かりません!!
返信数: 14
閲覧数: 8155

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

まぁ,ふつーに(?),
・5を0個切り出す世界
・5を1個切り出す世界
・5を2個切り出す世界
のそれぞれについて,「残りの長さについて 4,3,2 の組み合わせを列挙」という,元の長さと棒の種類が小さくなった問題を解く,という話にしていくのが素直かな.
(言うまでもないが,そこでも,4をX個切り出す世界のそれぞれについて「残りの長さについて 3,2 の組み合わせを列挙」というさらなる小さい問題にしていく感じ.)

C言語なら再帰で書くのが楽かな.
(って書いてたら話が被ったようだが,せっかくだから送信しちゃうぜ)
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: 組み合わせ?のプログラムの考え方が分かりません!!
返信数: 14
閲覧数: 8155

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

> 組み合わせが、{5}、{5、4}、{5、3}、{5、3、2}、・・・

っていう記述から,それを読み取るのは難易度高いw

つーことは,{5,5} っていうパターンも有りだと.
そしたら 15 パターンとかいう話では無くなるし,力業の全探索みたいなのはやりたくない気がする.
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: 組み合わせ?のプログラムの考え方が分かりません!!
返信数: 14
閲覧数: 8155

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

各棒の 有る/無し は,上記の i の値の bitパターン から得れば良いと思う.

…っていう話が「ちょっと何言ってるかわかんないですね」とかいう場合であっても,
せいぜい 15 パターンしかないのだから,好きなように全部のパターンをハードコーディングしてやってもいいと思う.
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: 組み合わせ?のプログラムの考え方が分かりません!!
返信数: 14
閲覧数: 8155

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

組み合わせの全パターンの数だけループして,各パターンについて合計が10mを超えないか否かを調べてやればいいよね.

4種類の棒の 有る/無し の組み合わせは16パターンで,「全て無し」パターンについては調べるまでもないから,単純に残りの 15 種類分だけ回るループを書けばいいよ.

コード:

for( int i=1; i<=15; ++i )
{ /*i番目のパターンについて調べて可であれば表示する*/ }
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: 配列での文字列の扱いについて
返信数: 3
閲覧数: 5133

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

配列 log の中身の初期状態が不定だからでは?

コード:

//例えばこんな感じに変えたら動作が変わりませんか?
char log[200] = { 0 };
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: マウスカーソル ゲームメニュー選択画面
返信数: 3
閲覧数: 3152

Re: マウスカーソル ゲームメニュー選択画面

既存のキー操作とマウスカーソルとで簡単に喧嘩になりそうだから,仕様を決める(説明する)のが先だと思う.

個人的には,カーソル位置で選べるなら

・ホイールは要らない
・キーは各項目をダイレクトに選択決定するショートカット(例えば S キーで設定画面に直行,Hキーで説明画面に直行,みたいな)

とかにするかなぁ.
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: 惑星シミュレーション
返信数: 3
閲覧数: 3123

Re: 惑星シミュレーション

示されたコードに関する詳細な状況は不明ですが,
ぱっと見の雰囲気的には(ここまで書いておいていまさら)「ルンゲクッタ法とは何か?」とかいうことではないであろう,と想像します.

何が不明点なのかも不明ですが,

> 多数の粒子からなる惑星

っていうのを「少数の粒子で」まずはやってみればよいのでは.
いきなり多数だと,挙動の確認も無理(:「こうなるはず」っていう相互作用が人間に把握困難になる)でしょうし.

何を持って「分子間力」とするのか謎ですが,引力と斥力みたいなのを相応にモデル化できれば,あとはそれによる運動を差分法で扱ってやるだけなのでは.
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: 文字列を交互に
返信数: 11
閲覧数: 10745

Re: 文字列を交互に

オフトピック
以上は,自分で取り組むつもりのある人に対してのアドバイスのつもりであるが,
「いや,そういうのはいらないから,そのままどこぞに提出できる形のコードだけよこせや」というようなタイプの人には,こういうのはただただ迷惑であろう.

というわけで,課題っぽい雰囲気の話についてこういう場所で質問する場合には,
どっち側のスタンスなのかを明確に述べるとミスマッチが無くて良いのではないかと思う.
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: 文字列を交互に
返信数: 11
閲覧数: 10745

Re: 文字列を交互に

1文字ずつ交互に織り込んだような結果になるやつをやりたいのだとして,それがすぐにできそうにないなら,
とりあえず 交互に織り込む ところは無しの状態で,
単に1文字ずつ表示することをやってみるべきであろう.
これができなければ,より難しい処理をやれるはずもないので.

例えば "ABC" と "12345" の2つが入力されたときに,1行に1文字ずつ
A
B
C
1
2
3
4
5
とか表示することをやってみると良かろう.
その経験を経たうえで,本来の問題を考えてみれば,すんなり解けるのではないかと想像する.
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: 文字列を交互に
返信数: 11
閲覧数: 10745

Re: 文字列を交互に

> for文を使い

「forを使ってやれ」という特別な指示があるのでもなければ,そんな実装詳細のところに変にこだわらない方が楽だと思うけど.

まずは「具体的にどう実装するか?」という点は度外視して,処理アルゴリズムを考えるべき.
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: 文字列を交互に
返信数: 11
閲覧数: 10745

Re: 文字列を交互に

> キーボードから2つの文字列を入力してそれを交互に表示 というのを素直に読めば, 入力が 2つの文字列 "Cat" と "Dog" だった場合, Cat Dog Cat Dog Cat Dog ... (何回続けるのか知らんが) という表示をする,という話と思うのだが… > 実行結果例 st ABC st1 ZXW st2 AZBXCW といっているからどうやら解釈が違う様子. "ABC" と "ZXW" が入力された際に,これらの先頭側から1文字ずつ取り出して表示していく話になっていると見える. それで合ってる? (2つの文字列の長さが違ったらどうするんだ?) --- > 文字列は3つ必要...
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: 2-opt法で改良できていない
返信数: 1
閲覧数: 2759

Re: 2-opt法で改良できていない

マルチポストでしょうか?
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: Reverseフラグ
返信数: 6
閲覧数: 3869

Re: Reverseフラグ

オフトピック
> そのような簡単な話では済まない事情等

例えば,画像(を表示するための手段のような何か)毎にクリックのイベントをハンドルする処理を書く必要があるような仕組みの上で実装しているのだ,とかいう場合なら,その仕組みの中で「イベントをハンドルする処理を書く」ってのは一体どうすれば? という話はあるでしょう.

(しかし,あなたがどんな世界で実装しているのかを知らない人にはそんな事情は知る由もない.いきなり「クリック」とだけ言われても伝わるわけない)
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: Reverseフラグ
返信数: 6
閲覧数: 3869

Re: Reverseフラグ

逆方向にどうこういう話については ・位置 += 移動量 ・位置 -= 移動量 の一方を「正方向」,他方を「逆方向」と呼ぶだけの話なのでは? としか思えません.そこを{あえて? わざわざ?} > 逆回りに移動する関数も作る という大仰な話とせねばならない必要性があるのか疑問です. 位置 += ( reverse ? -移動量 : 移動量 ); くらいではダメな話なのでしょうか? --- > 動いている画像のクリック 各画像の位置を管理しているのはあなたなのですから,例えば「位置(100,200)がクリックされたぞ」という時,それが画像の範囲にあるのか否かをチェックすれば良いだけであろうと思うので...
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: ポインタを用いた配列要素数の調べ方
返信数: 9
閲覧数: 7867

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

オフトピック
タイトルが「配列」という広い言葉になっているけど,対象は「ヌル文字で終端された文字列(charの配列)」である,という前提で良いのかな?
(そうでない,一般的な「配列」の話なのだとしたら無理だと思う)
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: 乱数関数について
返信数: 5
閲覧数: 5760

Re: 乱数関数について

> srand((unsigned int)time(NULL));

原因はこれ.
これの場所を main の先頭にでも移して,一度だけやるようにする.
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: scanfでのエラー
返信数: 3
閲覧数: 7562

Re: scanfでのエラー

現象はよくわからないけども,a や b の有効な添え字は {0,1,2} だから,そのループの仕方で i を添え字に使うのは間違いだよね.
まずはそこを直してみては?
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: ポインタ アドレス
返信数: 6
閲覧数: 5987

Re: ポインタ アドレス

> 「交換前2」と「交換後2」はprintf()関数の第2引数でポインタを利用して結果を表示
> 「交換前3」と「交換後3」はprintf()関数の第2引数でポインタを利用して結果を表示

この2つが全く同じ話に見えるのだけど…??
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: 無限ループ
返信数: 4
閲覧数: 6000

Re: 無限ループ

while(1){ ... } って書いたら,「...」のところが複数回実行され得る,という点については大丈夫かな? 示されたコードでは入力処理がこの部分に描かれているけど,「nやmを何度も何度も入力しろ」という話には見えないから,まずここの時点で変なことになっていると思うけど. …という感じで,あなたがどういう処理手順を実装したつもりなのか? というのがそもそも他者には謎なので,ifの条件をどうしたいのか? とかも正直謎. (間違っているコードだけ示して,そこからあなたの考えを読み取れというのは無理がある) --- あと, とりあえず「nからmまで」とかいう言い方から察するに, n<=m み...
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: MFCにて画像サイズとウィンドウサイズがうまく連動しない
返信数: 11
閲覧数: 6003

Re: MFCにて画像サイズとウィンドウサイズがうまく連動しない

ウィンドウのサイズを変えるような処理は,その結果として,スクロールバーの表示有無だけでなくメニューの表示幅が変わったりとかいうことも生じ得るため, サイズ変更前の状態における「画像表示する領域のサイズ」に基づいて新しいウィンドウサイズを求めても,そのサイズにすれば表示域のサイズが画像ぴったりになるとは限らないです. 私がこれ系の実装をしたときは,上記のような「現領域サイズを基準にして新しいウィンドウサイズを求めてウィンドウリサイズする」という処理を2回以上(ウィンドウサイズを変えずに済む状態になるまで)実施するようにして対処しました. (経験上では2回で終わる様子.3回以上やることになる場合が...
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: MFCにて画像サイズとウィンドウサイズがうまく連動しない
返信数: 11
閲覧数: 6003

Re: MFCにて画像サイズとウィンドウサイズがうまく連動しない

OnPaint() の中でウィンドウサイズを変えてるってのは妥当か…? というのも若干気になりますが,それはそれとして…

ウィンドウのサイズを変える処理を行っている個所のサイズ計算過程を調査して「どうしてそうなるのか」を突き止めれば良いのではないでしょうか.

当てずっぽうですが,

(1) スクロールバーがある状態でサイズ計算すれば,スクロールバー込みでのウィンドウサイズに変更することになる
(2) (1)の後でスクロールバーが要らないという判定になり,スクロールバーが消される.その結果としてスクロールバーがあった箇所が余白になる.

みたいなことになっているのでは?
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: DXアーカイブファイルを使うの場合は"画像ファイルがありません"のエラーが起きしました。
返信数: 4
閲覧数: 5380

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

オフトピック
Hello.

I want to recommend to write in English instead of in Chinese.
This is because most Japanese have no experience using Chinese, but have some experience learning English at school.
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: 画像や動画の切り替え方法
返信数: 7
閲覧数: 7518

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

変数値の切替の部分: > ( CurrentImageIndex<(3-1) ? CurrentImageIndex+1 : 0 ); の書き方が「何なの?」っていう場合,これをもっと素直(?)に書くなら //とりあえず1個次に進める ++CurrentImageIndex; //でも,有効な値は {0,1,2} だけなので,↑のインクリメントで3になっちゃった場合には 0 に戻す if( CurrentImageIndex==3 ){ CurrentImageIndex=0; } とかだ. こんなのは意味さえわかればどう書いてもよいので,たまたま示した記述例にこだわらなくて良い. こういう場...
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: 画像や動画の切り替え方法
返信数: 7
閲覧数: 7518

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

> キーを押したら次の画像に移り、最後まで行ったらまた最初の画像に戻るというプログラムを作りたいのですがどうしたら良いのでしょうか? 「キーを押す」度に表示する画像を切り替える という話なのであれば, 表示を行う処理の部分は ある瞬間にそのキーが押されているかどうか?なんてことには関与する必要は無く, とにかく「今現在表示すべき画像っていうのはコレ」という情報(の現在値)に基づいた表示を行っていればよいだけなのでは. そのライブラリを知らんから,具体的な型とか処理コードは示せないけども,例えばこんな話かと. int main() { //ここではなんか画像データが3個あるのだとして… 画像デー...
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: フラグを複数分岐したいのですが躓いております。
返信数: 4
閲覧数: 1858

Re: フラグを複数分岐したいのですが躓いております。

オフトピック
teratail に関しては,複数アカウント作ることがルール上禁止されてはいますが,実際上は完全に放置されていてやりたい放題されているという有様みたいですから,
仮に現行のアカウントが使えないとしても,別のアカウントをさくっと作ってそっちでは「ごく普通のひとを装ってれば」いいんじゃないですかね?
(SOに関しては,そこらへんどんな感じなのか私は知りませんが)
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: フラグを複数分岐したいのですが躓いております。
返信数: 4
閲覧数: 1858

Re: フラグを複数分岐したいのですが躓いております。

> テラテイルでは、アカウント停止寸前、stack overflowでは、アカウントが停止されました。

何をやらかしてそんな状態になっているのかわかりませんが…

とりあえず前者側は「寸前」ということであればまだ使えるのでしょうから
今からでも 普通に(:停止されないように) 使えば良いのではないでしょうか.
オフトピック
私もこことか teratail とかでわりとクソみたいな態度をとっていますが
それでもとりあえずアカウントをどうこうされるような事態にはなっていないので,
問題視されている何か(言葉遣い? 振る舞い? よくわからんけど)をある程度抑えて臨めば大丈夫なんじゃないかな?
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: エラーの場所が迷子になりました
返信数: 6
閲覧数: 2164

Re: エラーの場所が迷子になりました

そもそもノードの型を main関数側が知らなきゃならない話(を扱っている状況)なのか?
というあたりから疑問というか謎.

main関数側から見たら

【具体実装がどうなってるかは知らんけども】とにかく「単語のリスト」というデータが(1つだけ)存在していて,それに対する限定的な操作(新しい単語を加える,ソートさせる)手段が提供されている

ではダメなのか?
(やりたいこと以上の自由度を設ける必要は無いように思うけど)
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: エラーの場所が迷子になりました
返信数: 6
閲覧数: 2164

Re: エラーの場所が迷子になりました

それはそれとして,main関数で直接的に list の値を弄るのは正しいことですか?

おそらく,本来ならば変数 list は main関数からは見えない存在であるという前提のうえで,各種関数を使っていく想定なのだと想像しますが…

で,そしたら「各関数がきっちり己の役割を果たしているのか?」っていう話も当然ありますね.確認できていますか?
例えば,私から見ると,create_node関数は役割を十分に果たしているとは思えないのですが,実際のところどうなんでしょう?(実際の仕様はあなたにしかわからない)
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: エラーの場所が迷子になりました
返信数: 6
閲覧数: 2164

Re: エラーの場所が迷子になりました

> とりあえず実際にどう動いているのか細かく見ていけばどうか. の部分が言いたいことであり,以降は例である,という点をまずはご理解いただきたい. 【あなたは,このプログラムにある入力が与えられた際のあるべき動作を隅から隅まで知っているハズ】 なのだから, そしたら1行ずつでもなんでも【あるべき動作をしているか?】をチェックしていけば良いのではありませんか? そしたらある時点で,「なんでそう動くん?」っていう動作をすることを発見できるのではありませんか? 仮に,このコードがどこかからやってきたような代物であって,上記の【隅から隅まで知っている】をあなたが満たさない状況にあるのであれば,その状態で...
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: フラグを複数分岐したいのですが躓いております。
返信数: 4
閲覧数: 1858

Re: フラグを複数分岐したいのですが躓いております。

オフトピック
> C言語何でも質問掲示板では、C/C++を初めプログラムに関する様々な質問を受け付けています。

とのことなので,まぁ,言語が制限されている場だというわけではないのだろうけども……

それでも,わざわざ「C言語」って名前が付いている場所でやるよりは,そのジャンルを明示的に扱っている場所を利用した方が良いのでは感.
(余計なおせっかいかな?)
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: エラーの場所が迷子になりました
返信数: 6
閲覧数: 2164

Re: エラーの場所が迷子になりました

とりあえず実際にどう動いているのか細かく見ていけばどうか.
例えば,

node = search_node(buf);

を初めて実施する時点で

node_t *list = NULL;

が NULL のままだったりしたらヤバそうだよね.
そして実際そう動きそうにも見える(だれも list を更新しないであろうから).
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: 2択の文字出力時の場合分け
返信数: 3
閲覧数: 1820

Re: 2択の文字出力時の場合分け

> 何というキーワードを検索すればいいのか

っていう点に関しては,例えば…

・"ab" の型については「C++ 文字列リテラル 型」
・配列の index の型については「C++ 配列 index 型」
・bool から int へのキャストについては「C++ bool int キャスト」

…とか,愚直にトライしてみればいけるのではないかな,と.
「仕様」みたいな単語を入れてみても良いかもしれない.
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: 2択の文字出力時の場合分け
返信数: 3
閲覧数: 1820

Re: 2択の文字出力時の場合分け

//このpに対して… const char *p = "ab"; //こうしたら,'a' と 'b' が表示されるよね std::cout << p[0] << std::endl; std::cout << p[1] << std::endl; //--- //っていうのと,まぁ,同じような話で,これでも 'a' と 'b' が表示されるよね. // "ab" の型は多分,const char[3] だろうから,普通に配列の [0] と [1] を出力しているだけだ. std::cout << "ab"[0] << std::endl; std::cout << "ab"[1] << st...
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: for文,while文のネストについて
返信数: 4
閲覧数: 2214

Re: for文,while文のネストについて

関数に切り出さないとしても,せめてこのくらいに整頓すればどうであろうか. (現代の C言語 って,このくらいの書き方できるんだよね?) ・定数たるべきものは定数にする. ・各変数のスコープと寿命範囲を必要以上に大きくしない. int main(void) { //こいつらは定数 const double rhofilm = 950000; const double tfilm = 0.00000022; const double rhohe = 178.6; const double rhoair = 1293; const double g = 9.86; const double mdro...
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: for文,while文のネストについて
返信数: 4
閲覧数: 2214

Re: for文,while文のネストについて

ループで値を持ち越すべき変数と, ループ内部での計算だけに使う変数(次回に持ち越さない)とがあるのなら, きっちりとそれらを分ければ間違いも減るでしょうし,コードもすっきりするんじゃないかな,と. 例えば,wfilm, lfilm だけがループで値を持ち越すべき存在なのだとしたら, for( i=0; i<=2; i++ ) { //wfilm, lfilm の値をちょっと増やして計算する wfilm += 0.1; lfilm += 0.1; SomeFunction( wfilm, lfilm ); //指定した wfilm, lfilm の値を用いて何か計算する関数 } みたいな形でルー...
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: for文,while文のネストについて
返信数: 4
閲覧数: 2214

Re: for文,while文のネストについて

デバッグしてください. コード書きました → コンパイルしました → 思った通りに動きません → はいお手上げ(今ココ) …ではなくて, 実際にどう動いているのかを確認する作業に入りましょう,という話です. > つまり、wfilmとlfilmの値をfor文で更新しているにも関わらず,while文の中身に反映されていないということです。 これは実際の変数値や処理の遷移を確認した上で述べているのでしょうか? それとも推測でしょうか? 実際に確認していないならば,各所に printf でも入れてみて動作の様子を観測してください. (もちろん,デバッガを使えるのであれば,その方が早いですが) 例えば ...
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: テキストを暗号化し復号するコードを作ったのですが
返信数: 5
閲覧数: 4645

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

オフトピック
> …みたいな作業を行う関数

「んなもん,stringのメソッドを使えばよくね?」みたいな無粋な突っ込みが入りそうな気がしないでもないので,先手を打って述べておくぜ!
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: テキストを暗号化し復号するコードを作ったのですが
返信数: 5
閲覧数: 4645

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

で,それはそれとして… > 暗号化するプレーンテキストは、T,H,I,Sなど一時ずつ ','で区切らないといけない 本当ですか? そうとも見えませんが. むしろカンマを入力させること自体の意味が不明と見えます. (本来は「カンマの入力を必要とするもの」を作っているハズなのであれば,現状のコードはその点に関して間違っているのかもしれません) > 復号の際は最後の数字の後に','をつけないと正しく復号してくれません。 何かを「カンマである」という条件だけで判断しているからでしょう. そのような個所を例えば「カンマあるいは入力の末尾のいずれか」みたいな話にすれば良いのではないでしょうか. この点に関...
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: テキストを暗号化し復号するコードを作ったのですが
返信数: 5
閲覧数: 4645

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

あなたが「欠点」と述べている現仕様を定めた理由は何ですか? …と問うのは,現状そのようになっていることには何かしらの理由があるハズだと思うから. (だって,そうじゃなければ,わざわざそんな不自由な形にしないだろうし,「そういう形にしてやろう」とか思いついたりもしないよね?) 要は,何が必要事項なのかが他者には不明なのでこのままでは回答不能かと見えます. (仮に何のこだわりもないのであれば,「じゃあその仕様をやめればいいよね」っていう話にしかならない) --- ひらがなに関しては, > 0から26までの数字に暗号化 という仕様のままで何とかしたいという方向の話なのか,相応に値の範囲を拡張するよう...
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: [至急]DXライブラリで選択肢を作る方法を教えてください
返信数: 2
閲覧数: 5180

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

自分が答えるわけじゃないけど

> switch文の中で

っていう話が何だか意味不明に思えるよ.
(あえてそのように書いてるということは,何かそこが成否を分ける重要な要素なのだろうけども)
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: 3角形をくりぬく処理に関して
返信数: 8
閲覧数: 3216

Re: 3角形をくりぬく処理に関して

> その図の(3)の赤い点群から出発して(6)の処理がやれないのだろうか?

の側を考えた方が話としては楽なのかもしれないなぁ.
例えば,とりあえず適当にドロネーか何かで三角形分割した後,要らない三角形を捨ててしまえば良いのでは的な方向とかで.
(話としては楽だったとしても,現実的には処理速度とかの面でNGになり得る?)
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: 3角形をくりぬく処理に関して
返信数: 8
閲覧数: 3216

Re: 3角形をくりぬく処理に関して

オフトピック
一方が完全に他方の内側に入っている場合とか
四角形が三角形の頂点をいくつか含む場合とか
四角形が三角形を複数個の図形に分断するような場合とか

…も扱わないとならないだろうし,
「ちょうど接する」みたいな状態でバグらないように気を付けないといけないかもしれないし…
有り得る様々な状態にちゃんと対応できるような実装を用意するのは大変そうだなぁ.
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: Dxlibの表示された文字の消し方
返信数: 4
閲覧数: 4446

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

オフトピック
あと,「文字を消す」という文言がちょっと気になるなぁ.

> while (ScreenFlip() == 0 && ProcessMessage() == 0 && ClearDrawScreen() == 0 && UpdateKey() == 0){

とかいうループを書いている時点で,「描画したものは毎回消えている」のではあるまいか.

そしたら,やりたいことは「表示した物を消したい」じゃなくて「所望のものだけを描画したい」という形に表現されるべき場面ではないかと思える.
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: Dxlibの表示された文字の消し方
返信数: 4
閲覧数: 4446

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

Text(1); //txtファイルの1行目を表示する Text(2); //txtファイルの2行目を表示する って2つ書いたら → 両方が表示される というのは極めて自然で当たり前すぎる話だと思える. (むしろ,「頑張って2つ書いたのに何故か1個しか表示されない」とかなったら困るじゃん?) そしたら,1個にしたいなら1個だけ書けばいいんじゃない? っていうのも極めて明瞭な事柄であろう. Text( LineNo ); //LineNo行目を表示する とか1個だけ書いとけばよくない? あとは LineNo の値を適切に変えていくだけだ.例えば既に回答されている仕組みをそのまま用いればよいので...
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: 3角形をくりぬく処理に関して
返信数: 8
閲覧数: 3216

Re: 3角形をくりぬく処理に関して

まぁ具体的アルゴリズムとかまでは示せないけども, 例えば,その図で 三角形の左側の辺 と 四角形の上側の辺 との交点を求めたとき… その交点というのは,三角形の左側の辺の両端の頂点のうちのどっちと繋がるのか? というのは判断できるハズ. (例えば,図形の各辺に「図形の外側」を向くような法線でも与えておけば良いんじゃないかな.この例だと四角形の上辺の法線が向く方向にある側の頂点:「四角形の内側に切り取られない側」にある頂点 を選ぶ感じか.) 同様に,この頂点が四角形の上側の辺の両端の頂点のうちのどっちと繋がるのか? もわかる. …んじゃないかな? という話. (つまり,この交点は,三角形の上側の...
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: 3角形をくりぬく処理に関して
返信数: 8
閲覧数: 3216

Re: 3角形をくりぬく処理に関して

言い換えれば,「その図の(3)の赤い点群から出発して(6)の処理がやれないのだろうか? という疑問」…になるのかな? --- それはそれとして(点群を「つないで」外周みたいなデータを作る必要があるのだとして), 「交点」を求めているときに,それは「どの辺とどの辺との交点なのか」というのが分かっているハズだから, そこから,「その求めた交点と隣接する点というのはこいつとこいつだよね」っていう話が既知だと言えるのではないかな. 例えば, 三角形が A→B→C(→A) っていうグラフで 四角形が a→b→c→d(→a) っていうグラフである とわかっているところから出発したのだとして, あるとき(そ...
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: 3角形をくりぬく処理に関して
返信数: 8
閲覧数: 3216

Re: 3角形をくりぬく処理に関して

すぐに(三角形に)分割するのなら,そこで一旦つなぐ意味って何になりますか?

(【ばらばらの点群 → 何故かつなぐ → すぐにまたばらばらにする】という話だとしたら中間のステップって要るんですか? という素朴な疑問.)
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: 表示した文字の消し方
返信数: 3
閲覧数: 1764

Re: 表示した文字の消し方

> 「ある文字」を「新しい文字」に変えることは出来ました ということは「ある文字」は「消せた」のでしょうから, 全く同じ手段を用いて「新しい文字」も消せるのでは…? リンク先では if (GetNowCount() - startTime < 2000) { // まだ2秒経っていない DrawString(50, 50, "ある文字", color); } else { // 2秒経った DrawString(50, 80, "新しい文字", color); } ってなってて,「新しい文字」は2秒経過して以降ずっと表示しているのでしょうから, 「新しい文字」の側にも何かしらの条件を付ければ良...
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: 表示した文字の消し方
返信数: 3
閲覧数: 1764

Re: 表示した文字の消し方

オフトピック
直近にそれっぽい話題があるみたいだけど.
viewtopic.php?f=3&t=21492
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: ソースファイルの分割について
返信数: 4
閲覧数: 6210

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

オフトピック
> int_aesを用いてtest2.cを分割

っていうのも日本語として意味不明と思える.

「そのくらい察しろ」とか「わかるだろ」とか思ってると,読み手の推測が外れた場合に誤解に基づいたやりとりが繰り広げられることにもなりかねない.
「相手の読解力に過度に期待した結果,無意味なやりとりで時間と労力を費やすことに…」とかいう事態を防止するために,最初から話を明瞭に書いた方が良いと思うよ.
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: ソースファイルの分割について
返信数: 4
閲覧数: 6210

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

とりあえず行数だけしか見てないけど
元のソースファイルと,それを単に分割したハズの(?)ファイル群の行の総数が激しく違うのは一体何が起こっているのかさっぱり.謎.
「分割すればコード量が激減!」なんてことが起こるとも思えないし,何か話の根本が見えない感じ.
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: DrawString と DrawFormatStringの違い
返信数: 1
閲覧数: 1527

Re: DrawString と DrawFormatStringの違い

リファレンスで見比べたらいいんじゃない?
https://dxlib.xsrv.jp/dxfunc.html
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: デバック時に表示されるエラーについて
返信数: 3
閲覧数: 1896

Re: デバック時に表示されるエラーについて

> 1.デバック時のエラーはVisualstudioのアップデートでも解決することがあるのか

アップデートの内容(それっぽい何かが修正されたのか否か)について調査してみてはどうでしょう.
https://docs.microsoft.com/ja-jp/visual ... ease-notes
あたりで?
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: ISBNコードのルーンチェックサムを作成中です。
返信数: 4
閲覧数: 6813

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

> 上手く働かなくなってしまいました

という言い方から察するに,「以前は上手く働いていた」のだと思われるので,
その時の状況と見比べてみてはどうですか?

とりあえず提示された main() 関数を見た感じ,
値が不定な変数の値に関するチェックが書かれているので「まぁダメだろうな」という感じですが…

関数群の雰囲気から,変数のスコープとかそういう根本的な話が分かってないようにも見える.
例えば
char digitChar;
なるローカル変数がいくつかの関数に存在するけども「そいつらは互いに全く無関係な別々の存在である」ということは大丈夫なのかな?
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: DXlibを使ってサイコロの3Dは表示できますか?
返信数: 2
閲覧数: 1915

Re: DXlibを使ってサイコロの3Dは表示できますか?

オフトピック
挙動部分を自前で実装する場合,それ系の実装経験が無い場合には,最初はとりあえず2Dでやってみるステップを経た方が良いのかも?
(例えば真横から見た感じで サイコロは正方形,茶碗は折れ線で定義 みたいな)
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: DXlibを使ってサイコロの3Dは表示できますか?
返信数: 2
閲覧数: 1915

Re: DXlibを使ってサイコロの3Dは表示できますか?

そのライブラリの3D関係のリファレンス をざっと見た感じ,表示することに関してはまぁやればできるんじゃない? っていう雰囲気. (どの関数を使えばいいのかまでは知らんですけど) サイコロを「それっぽく」動かすことに関しては,列挙された関数群の範囲ではサポートは無さそうに見える. どこまでの物が必要なのか次第だろうけど,物理シミュレーション的な方向に行くなら,何か使えそうなライブラリを探すなり,自前で実装するなりする方向になるのでは. 「そのライブラリを使って」という前提 + 「3D」 っていう話だと,それそのものを触れたことがある人の話を聞けた方が有用であろうと思うので,そのライブラリを配布...
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: マウスカーソルの座標を入手
返信数: 8
閲覧数: 3609

Re: マウスカーソルの座標を入手

気になって検索してみた感じ,バージョン毎の言語の準拠が書いてあるところで,"VS 2022 17.0" という記述が見られるので,何かしら違うのかな?
(個々の項目の中身が何なのかまでは わからん/見ていない ですが)
by usao
1年前
フォーラム: C言語何でも質問掲示板
トピック: C言語初学からシューティングを作りたいです。
返信数: 7
閲覧数: 2955

Re: C言語初学からシューティングを作りたいです。

オフトピック
「結局何かしらのライブラリを使うっていうなら,最初からそれで始めればいいだろ」という意見も十分あり得ると思う.
そっち方向の話は他の誰かに期待!

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