検索結果 171 件

by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: シューティング
返信数: 23
閲覧数: 8429

Re: シューティング

何これわかりづらいwww
つまりこういうことでしょうか?敵を〇としたときに、

 〇 〇 〇 〇 〇 〇 〇 〇

 〇 〇 〇 〇 〇 〇 〇 〇

 〇 〇 〇 〇 〇 〇 〇 〇

 〇 〇 〇 〇 〇 〇 〇 〇

敵の画像は20.0fx20.0fより小さく、縦横の敵は20.0fごとに並べる。
左上の敵は(pos, pos, 0.0f)に配置。
全ての敵はz平面上に存在。
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: XNAについて
返信数: 4
閲覧数: 4314

Re: XNAについて

Yuo さん
ISLe さん
moba さん

ご教示ありがとうございます。
非常に参考になりました(こんな返ししかできなくてスミマセン...)。
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: double型との比較
返信数: 5
閲覧数: 5844

Re: double型との比較

2進数小数という概念があります。普通の小数は10進数なので、 0.1234 = 0 + 1/10 + 2/(10*10) + 3/(10*10*10) + 4/(10*10*10*10) となりますが、 0.1010(2) = 0 + 1/2 + 0/(2*2) + 1/(2*2*2) + 0/(2*2*2*2) となるようなものです。てっとり速くいうと、浮動小数点数は10進数小数ではなく、2進数小数の表現をします。 なので、たとえば、0.1を2進数小数に直すと、 0.1 = 0.000110011001...(2) となり、循環小数となります。このような理由で浮動小数点同士の計算では誤差が生...
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: 数独のアルゴリズム
返信数: 5
閲覧数: 4182

Re: 数独のアルゴリズム

再帰関数をループに直したバージョンです。 コードの見た目はすっきりしましたが、(再帰関数を知っている人にとっては)多少わかりづらくなっていると思います。 #include <stdio.h> int board_init[9][9]; // ボード(最初の状態) int board[9][9]; const int NIL = 0; // 分かっていない数 // 現在のボード(board)について、位置(i, j)のマスの数字が // 周りの数字(縦・横・ブロック)と重複していないかチェックする関数 // 重複していなければTRUE(0以外), 重複していれば0を返す int check(in...
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: 数独のアルゴリズム
返信数: 5
閲覧数: 4182

Re: 数独のアルゴリズム

かずまさん、さすがです。 コードが少し技巧的だったので、初心者向けの書き方にして、コメントを追加しました。 しかしアルゴリズムの美しさに感心します。 #include <stdio.h> int board[9][9]; const int NIL = 0; // 分かっていない数 // 分かっていない数('.')毎に1~9の数字を当てはめてチェックする再帰関数 // boardに正解が格納されていれば、TRUE(0以外)を返す。 // 答えが見つからなければ0を返す。 int step(int i, int j) { if (i == 9) return 1; // 「10行目」に到達したの...
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: 数独のアルゴリズム
返信数: 5
閲覧数: 4182

Re: 数独のアルゴリズム

このCのプログラムはきちんと解きに行っていると思います。

https://github.com/rg3/sudoku/blob/master/sudoku.c

283行のコメントを見ると総当たりに近い解き方みたいですね。
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: 数独のアルゴリズム
返信数: 5
閲覧数: 4182

Re: 数独のアルゴリズム

配列の[0]を使わないことで可読性を上げているんですね。なるほど。

9x9のマスの1/3~1/2が埋まっていない状態からスタートするとすると、総当たり法では解き終われないと思います。
人間が解くように、穴の数の少ないところから埋めていって、巡回させるんじゃないかと思いますが、そのプログラムが果たして300行程度で収まるかはちょっと想像がつかないです。
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: 実数の桁数を考慮した表示
返信数: 5
閲覧数: 2645

Re: 実数の桁数を考慮した表示

これでどうでしょうか? #include<stdio.h> #include<stdlib.h> // 整数部、小数部を合わせて7桁で出力する // 各出力結果で小数点が揃うように、 // 前後に合計1個のスペースを挿入する。 // ex) 1.0 -> " +1.000000" // -12.3 -> "-12.30000 " void print(double x) { char str[24]; if (abs(x) > 100.0) x = 0.0; // オーバーフロー対策 sprintf(str, "%+*f", 7, x); if (str[2] == '.') printf("...
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: C言語での単語検索とカウントプログラム
返信数: 30
閲覧数: 16657

Re: C言語での単語検索とカウントプログラム

ごめんなさい。プログラムは全書き直ししています。 ただ、変数名、コメントはできるだけ似せるようにしました。 インデントは2tabでなくて4tabでもよかったでしょうか? また、isalpha, strcmp, strlen関数を使っています。まずいものはありますか? まずければ直しますので、よろしくお願いいたします。 #include <stdio.h> #include <ctype.h> #include <string.h> #define BUFF_MAX 10000 #define WORD_MAX 100 char buff[BUFF_MAX+1]; // '\0'の分多く確保 i...
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: C言語での単語検索とカウントプログラム
返信数: 30
閲覧数: 16657

Re: C言語での単語検索とカウントプログラム

かずま さん すみません。どうしても気になったもので。 大きいデータを入れて確認しました。 #include <stdio.h> int main() { char str[257]; int i; for (i = 0; i < 99998; i++) { fgets(str, 256, stdin); printf("%05s", str); } rewind(stdin); for (i = 0; i < 99998; i++) { fgets(str, 256, stdin); printf("%05s", str); } return 0; } $ perl -e 'for ($i=...
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: C言語での単語検索とカウントプログラム
返信数: 30
閲覧数: 16657

Re: C言語での単語検索とカウントプログラム

rewind(stdin); で読み込み位置をファイルの先頭に戻しましょう。 すみません。パイプの場合は元に戻せないようです。 間違えました。もう一回試験した結果です。 #include <stdio.h> int main() { char str[257]; fgets(str, 256, stdin); printf("%s", str); fgets(str, 256, stdin); printf("%s", str); rewind(stdin); fgets(str, 256, stdin); printf("%s", str); fgets(str, 256, stdin);...
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: C言語での単語検索とカウントプログラム
返信数: 30
閲覧数: 16657

Re: C言語での単語検索とカウントプログラム

プログラムを修正して、単語ごとにカウントできるようにしました。 #include <stdio.h> #include <string.h> #include <ctype.h> #define MAXCNT 20 #define MAXBUF 128 // line内のwordの数をカウント int wdcnt(char *line, char *word) { char line2[MAXBUF]; int len = strlen(line); int i; int cnt = 0; strcpy(line2, line); for (i = 0; i < len; i++) if (!...
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: C言語での単語検索とカウントプログラム
返信数: 30
閲覧数: 16657

Re: C言語での単語検索とカウントプログラム

rewind(stdin); で読み込み位置をファイルの先頭に戻しましょう。 すみません。パイプの場合は元に戻せないようです。 #include <stdio.h> int main() { char str[257]; fgets(str, 256, stdin); printf("%s", str); rewind(stdin); fgets(str, 256, stdin); printf("%s", str); return 0; } $ printf "ABC\nABC" ABC ABC $ printf "ABC\nABC" | ./a.exe ABC ABC
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: 配列をひとつずつ後ろにずらす関数をつくっているのですが、、、、
返信数: 4
閲覧数: 13129

Re: 配列をひとつずつ後ろにずらす関数をつくっているのですが、、、、

??? こうじゃないですか? #include <stdio.h> // example) a = { 0, 1, 2 }, n = 3 // -> a = { 1, 2, 0 } void rot_fwd2(int *a, int n) { int i; int tmp = a[0]; for (i = 1; i < n; i++) a[i-1] = a[i]; a[n-1] = tmp; } int main(void) { int testi[10] = {1,2,3,4,5,6,7,8,9,10}; int i = 10; int j; // 配列を1つシフトする rot_fwd2(t...
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: C言語での単語検索とカウントプログラム
返信数: 30
閲覧数: 16657

Re: C言語での単語検索とカウントプログラム

読みやすいバージョンを書いてみました。 このプログラムは空白やピリオドごとに文章を分割しているわけではないので、 単語にgo, 文章内にgogo!をいれるとgoが2回ヒットします。 #include <stdio.h> #include <string.h> #define MAXCNT 20 #define MAXBUF 128 // str1内のstr2の数をカウント int strcnt(char *str1, char *str2) { int cnt = 0; while ((str1 = strstr(str1, str2)) != NULL) { cnt++; str1 += s...
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: C初心者です
返信数: 3
閲覧数: 2275

Re: C初心者です

aary さんが書きました: 簡潔なコード教えてください
人にものをたずねるときは、言葉遣いに気を付けた方がいいです。
他の質問者さんの中にもできていない人がいますが、誤字・脱字はタメ語よりも印象が悪いと思います。
「送信」ボタンを押す前に、「プレビュー」を出して、投稿の内容が間違っていないかを一度見直してください。

閑話休題、簡潔なコードは1000行以上のコードが書けるようになってからでいいです。
長いコード → 自分で管理できなくなる → 簡潔なコードを書かなちゃ
という論理ですので。
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: 14歳から始める~ゲームプログラミング本の疑問点
返信数: 4
閲覧数: 2521

Re: 14歳から始める~ゲームプログラミング本の疑問点

変なことを言って人生を棒に振られても困るしなーww もう少しCとDXライブラリでプログラミングし続けるのがいいんじゃないかな。 同じシリーズの3Dの本もありますけど、どうしても3DをやりたいのでなければDixqさんのHPでDXライブラリの使い方に慣れつつ、ゲームを作るアイディアを暖めておくのが、一番楽でためになりそうではあります。 http://dixq.net/g/ (ちょっと本音) 世の中には、HPちょろっと読んだだけでプログラム作れちゃう人もいます。だけど大抵の人はそうではありません。だから、今の自分がそこそこいけてるという自信がないならば、徳川家康のように慎重に計画的に進めるべきです。...
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: 14歳から始める~ゲームプログラミング本の疑問点
返信数: 4
閲覧数: 2521

Re: 14歳から始める~ゲームプログラミング本の疑問点

疑問1は本の内容なので(この掲示板の人たちはdixqさんのHPで勉強しているみたいですね)、私のほうで回答いたします。 6章のゲームでは、十字キーで前進、後退、左を向く、右を向くという動作ができます。 左右の矢印で方向転換をすると、g_stagedata.directionが0~3まで変化します。 g_viewとg_mvという配列がDraw3DMap関数で呼び出されていますが、例えば主人公が(3, 3)の位置にいて、EASTを向いている場合は、 g_stagedata.x = 3 g_stagedata.y = 3 g_stagedata.direction = 1 となり、Draw3DMap...
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: XNAについて
返信数: 4
閲覧数: 4314

XNAについて

F#の本で、XNAを題材にしているものがあったのですが、XNA自体は2014年に開発中止になっているようでした。

XNAは、使える?使えた?フレームワークだったのでしょうか? どのようなものでしたか?
XNAの後継になるようなフレームワークはどのようなものがありますか?

今更すぎるかもしれないですが、ご回答のほどよろしくお願いいたします。
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: g++ コンパイラーとリンクファイルの場所の決め方
返信数: 6
閲覧数: 3512

Re: g++ コンパイラーとリンクファイルの場所の決め方

こちらのページのほうが詳しく書いてあるみたいです。
http://www.wdic.org/w/TECH//lib
http://www.wdic.org/w/TECH//usr

Linuxのカーネルはアプリケーション同様C言語で出来ていますが、カーネル用のライブラリというものが存在します。
例えばkprintf関数はカーネルやドライバが画面出力をするときに使う関数です。
printf関数は実際にはシステムコールでOSに文字列を渡す操作をするので、printfとkprintfでは動作が違うわけです。
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: g++ コンパイラーとリンクファイルの場所の決め方
返信数: 6
閲覧数: 3512

Re: g++ コンパイラーとリンクファイルの場所の決め方

Linuxにおいて、/lib, /usr/lib, /usr/local/lib にはそれぞれ違う役割があったと思います。
詳細については、下記ページをご参照ください。

http://www.7key.jp/computer/linux/directory.html
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: g++ コンパイラーとリンクファイルの場所の決め方
返信数: 6
閲覧数: 3512

Re: g++ コンパイラーとリンクファイルの場所の決め方

Cygwinのg++で試しましたが、man g++内のpathという文字列を検索してみてください。
g++ -print-multi-os-directory で、../libと出ましたが、これはホームからみた階層ではないようです。
which g++ で、/usr/bin/g++ と出ましたので、/usr/libを確認すると、.aファイルがありました。これはWindowsでいう.libファイルに相当します。
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: 決められた時だけスイッチの判定を行う
返信数: 6
閲覧数: 3482

Re: 決められた時だけスイッチの判定を行う

LEDが3つ付いているロボットですか? 飛行機だとプログラムが間違っているとすぐ壊れそうなので、初期段階ではエミュレータを使わないと厳しいですよね。 ①~③の動作の後、0xFFにならない場合があり、その場合はif (use_r)の処理を抜けて、ループの頭に戻ってしまうため、 ループの頭で、use_rが初期化され、再びswitch文によるswの状態判定になります。 このとき、swの状態が定義されていない状態だった場合、そのまま動作しない状態に陥ってしまっていました。 別にそんなことはないと思います。システム全体を見て判断しているわけではないですが、0x00, 0x01, 0x03のどれかに入れれ...
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: Visual Studio で作った連打クリックするマクロが重いです。
返信数: 2
閲覧数: 1896

Re: Visual Studio で作った連打クリックするマクロが重いです。

これスゴいプログラムだね?! _|(O◇O)|_
main関数からWin32 APIを呼び出すなんて思いつきもしなかったよ
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: 参照のポインタについて
返信数: 5
閲覧数: 3328

Re: 参照のポインタについて

質問の答えではないのですが、 Path *deq(void); void enq(Path *p, int x); というインターフェースからはやばい臭いが結構します。 queue<Path> buff; は、Pathのポインタの集まり(コレクション)ではなく、Pathの集まりです。 つまり、sizeof(Path) = (N+1) * sizeof(int)バイトのデータをそのままコピーして扱います。 なので、queueを使うならば Path deq(void); void enq(Path p, int x); が正しいです。もし、データをコピーしたくない場合は、 queue<Path*>...
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: C言語わかりません
返信数: 4
閲覧数: 4010

Re: C言語わかりません

間違えていました。すみません。

数字を9個出力するときに、最後の数字の後に空白が1つできています。
それを直せば通ると思います。
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: C言語わかりません
返信数: 4
閲覧数: 4010

Re: C言語わかりません

paizaの問題の解答例を公開することは規約で禁止されているはずです。注意してください。

パッと見た感じですけど、問題の入力が1つなのに、scanfにwhileループがかかっていますね。
printfまでたどり着かずにタイムオーバーしているものと思います。
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: 角の二等分線について。
返信数: 3
閲覧数: 3104

Re: 角の二等分線について。

数学の問題ですね。 まず、これは引き算が逆だと思います。逆でも多分いいのでしょうけど、∠ABCを出したい場合は→BAベクトルと→BCベクトルを出して、そのベクトルが→(1,0)に対して反時計回りに何度回転しているかを見ると思いますので... AngleAB = atan2(B.y - A.y, B.x - A.x);//取得 AngleCB = atan2(B.y - C.y, B.x - C.x);//取得 内側、外側でいうと、三角形の内角の和は180°なので、180°以上の時は360°からその角度を引けばいいと思います。とはいえ、一般的な場合について正しく描画させるためにはatan2関数が...
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: JAVAについて
返信数: 3
閲覧数: 2865

Re: JAVAについて

http://detail.chiebukuro.yahoo.co.jp/qa ... 1111785631
を見ると、
Javaの道
というのが活発そうですね。
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: プログラム実行の手間を省きたいです
返信数: 13
閲覧数: 5907

Re: プログラム実行の手間を省きたいです

Cでスクリプトを作ることもできます。 script.c #include <stdio.h> int main() { int i; for (i = 2; i <= 102; i++) printf("./soukan data1.txt data%d.txt\n", i); return 0; } ちなみにperlだと、 perl -e 'for ($i=2;$i<=102;$i++) { print("./soukan data1.txt data$i.txt\n"); }' とコマンドライン上で入力することで同じことができます。 コマンドライン上で、このように入力してください。 gcc...
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: LEDマトリクスでの複数パターン点灯
返信数: 24
閲覧数: 11388

Re: LEDマトリクスでの複数パターン点灯

change = 100; と書いているところで、
if (puttern <= 23) change = 100;
else change = 1000;
と書くと、パターン25~27で0.2秒が2秒になります。

Cの配列は0始まりなので、このバージョンだとコメントとコードで1つずつずれます。
コメントを1じゃなくて0から始めるか、ダミーデータ(パターン0)を追加すれば、わかりやすくなります。
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: mbedで2つのプログラム実行
返信数: 7
閲覧数: 3425

Re: mbedで2つのプログラム実行

uuu さん

疲れました。これXY問題です。
あなたの最終ゴールをまとめてみてください。

[例]

・8x8のマス目にA, B, C, D, Eという文字を1秒づつ表示し、それを交互に繰り返したい
・8x8のマス目に棒人間の絵をかいて、毎秒10フレーム位でアニメーションさせたい

など。
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: 関数の引数にポインタを使うときの初歩的な質問
返信数: 15
閲覧数: 6621

Re: 関数の引数にポインタを使うときの初歩的な質問

カーニハン、リッチー著「プログラミング言語C 第2版」のp. 114に非常に興味深い記述があります。 (※著者はC言語の開発者) ポインタipの宣言 int * ip は記号表現として、*ipという表現がintであることを表わす。変数に対するこの宣言の構文は、変数が現われる式の構文を真似たものである。この解釈は関数の宣言にも当てはまる。例えば double *dp, atof(char *); は、ある式の中で*dpとatof(s)がdoubleの型をもち、atofの引数がcharへのポインタであることを表わす。 私は上記のことをアフォーダンスに優れているとは思いませんが、答えにはなっているで...
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: LEDマトリクスでの複数パターン点灯
返信数: 24
閲覧数: 11388

Re: LEDマトリクスでの複数パターン点灯

上がっているコードだけで話をすると、1パターンあたり0.2秒で切り替わっているためと思います。パターン25~27で0.6秒になります。
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: LEDマトリクスでの複数パターン点灯
返信数: 24
閲覧数: 11388

Re: LEDマトリクスでの複数パターン点灯

uint8_t div1[8] = {7, 3, 5, 1, 6, 2, 4, 0}; の意図は、私が書いた投稿で、「散らばるような数列」を作るという話をしたのですが、それを作るための配列です。 まず、div1[change % 8]で0~7の間で散らばるような数列を作ります。changeは100から始まるので、数列は、 6, 1, 5, 3, 7, 0, 4, 2, 6, 1, 5, 3, 7, 0, 4, 2, ... のようになります。 次に、各パターンで設定している照度(0~8)と数列を比較します。 照度8の場合、 T, T, T, T, T, T, T, T, T, T, T, T...
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: win32の描画について
返信数: 4
閲覧数: 2790

Re: win32の描画について

oshiri さんが書きました: 他のユーザーと接続されたらです
お絵かきチャットみたいなのが作りたいということでしょうか?
IP通信(ソケット通信)をするプログラムを作ること自体はそれほど難しくないです。
ただ、ネットワークの知識がないとセキュリティを確保できないので、注意してください。
(私はこわいので手を出してないです)
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: win32の描画について
返信数: 4
閲覧数: 2790

Re: win32の描画について

マウスイベントとGDIの描画でできます。
ちなみに画面に点を打つ命令はSetPixel関数で、これはGDI+のほうにはなかったと思います。

GDIのMSDNページ
https://msdn.microsoft.com/ja-jp/library/cc428835.aspx
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: UnityでArray index is out of rangeエラーが出ます
返信数: 7
閲覧数: 11488

Re: UnityでArray index is out of rangeエラーが出ます

書き忘れていました。
Mokutsuno さんが書きました:CompName = new string[comp.Length];により、配列の長さをcomp.Lengthとしてインスタンスを生成する。
は、合っています。
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: UnityでArray index is out of rangeエラーが出ます
返信数: 7
閲覧数: 11488

Re: UnityでArray index is out of rangeエラーが出ます

CompName = new string[comp.Length];の意味としては、 Component[] comp = GetComponents<Component>();でそれぞれComponentを参照して、comp.Length(コンポーネントの数)がわかったので、 CompName = new string[comp.Length];により、配列の長さをcomp.Lengthとしてインスタンスを生成する。 と言うことであっていますでしょうか? Unityのドキュメントで、 GetComponent<Component>は、Component型のゲームオブジェクトでアタッチされ...
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: UnityでArray index is out of rangeエラーが出ます
返信数: 7
閲覧数: 11488

Re: UnityでArray index is out of rangeエラーが出ます

ちょっと気になったのですが、

コード:

            CompName[i] = comp.GetType().Name;
            Debug.Log(CompName[i]);
            i++;

コード:

            Debug.Log(components.GetType().Name);
でいいと思います。
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: UnityでArray index is out of rangeエラーが出ます
返信数: 7
閲覧数: 11488

Re: UnityでArray index is out of rangeエラーが出ます

すいません。19行目と20行目の間です。
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: UnityでArray index is out of rangeエラーが出ます
返信数: 7
閲覧数: 11488

Re: UnityでArray index is out of rangeエラーが出ます

CompName = comp.GetType().Name;
の前に
CompName = new string[comp.Length];
と書いてください。
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: じゃんけん
返信数: 10
閲覧数: 5152

Re: じゃんけん

できました。 #include <stdio.h> #include <string.h> #define PLAYMAX 100 #define PLAYERMAX 5 #define LINEMAX 128 int player; /* プレイヤーの数 */ int plays; /* プレイ回数 */ int play[PLAYMAX][PLAYERMAX]; /* 試合結果 */ int win[PLAYERMAX]; int draw; int te_flag[3]; /* グーチョキパーが出ていれば1, 出ていなければ0 */ const int GU = 0; const int...
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: じゃんけん
返信数: 10
閲覧数: 5152

Re: じゃんけん

yuui さんが書きました: 言葉不足でした。 学校にはあるのですがパソコンを使う部屋が他の授業で使用されていて入れない状況です。
ぷ、よっしゃ。やっちゃるか
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: じゃんけん
返信数: 10
閲覧数: 5152

Re: じゃんけん

yuui さんが書きました: あんどーなつさん、フォーマットはC言語を使うときには指定しなければならないのでしょうか。
C言語に限らず、入出力の例がないと先生ではなく回答する方が苦労すると思います。なので、通常は提示されているはずだと思って聞きました。
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: じゃんけん
返信数: 10
閲覧数: 5152

Re: じゃんけん

プログラムのフォーマットは、指定されていますか?
例えば、このような感じのものですけど

入力

コード:

g g c p
p p p c
c g c g
...
g c c c
出力

コード:

DRAW
PLAYER 3 WIN
PLAYER 1, 3 WIN
...
PLAYER 0 WIN

[結果]
PLAYER0 は 10 回勝ちました。
PLAYER1 は 14 回勝ちました。
PLAYER2 は 7 回勝ちました。
PLAYER3 は 24 回勝ちました。
引き分けは 9 回ありました。
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: 二次元配列のポインタを他のソースファイルで書き換えたい
返信数: 13
閲覧数: 6518

Re: 二次元配列のポインタを他のソースファイルで書き換えたい

あっ、分かりました!Java/C#風に書きたかったのですよね。その場合はSTLを使います Header.h /* Header.h */ #include <vector> extern std::vector<std::vector<int>> a; extern std::vector<int> b; void print(std::vector<std::vector<int>>); Main.cpp /* Main.cpp */ #include <vector> #include <iostream> #include <algorithm> #include "Header.h" ...
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: 足し算の項の入れ替え
返信数: 6
閲覧数: 4094

Re: 足し算の項の入れ替え

王道パターンは、要素をa+b+c+d+eとしたときに、 ①[00000],[00001],[00002],[00003],[00004],[00010],[00011],...を作る ②5個の数字が被らないものだけにする ③0~4をa~eに変換して表示 です。 この問題の厄介なところは要素の数だけループしないといけないところです。解決策としては、 ・再帰を使う ・スタックを使う(再帰はスタックに変換できるらしいです) ・大きな数字(32bit, 64bit整数など)を除算(/,%)する ・配列をカウントアップしていくルーチンを作る([00000]->[00001]->...[00004]->[...
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: 足し算の項の入れ替え
返信数: 6
閲覧数: 4094

Re: 足し算の項の入れ替え

文字列を文字列のまま扱ってみました。 ただ、デバッグ用初期化と書いてあるところを '\0' から '@' などに変えるとセグメンテーションフォルトを起こしてしまうのですが、そのデバッグは私のほうではできなかったです。 #include <stdio.h> #include <string.h> #define MAXLEN 32 void imomushi(const char * const res, const char * const rest) { int start = 0; int end = 0; //printf("INFO: res=%s, rest=%s\n", res, ...
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: 決められた時だけスイッチの判定を行う
返信数: 6
閲覧数: 3482

Re: 決められた時だけスイッチの判定を行う

C素人 さんが書きました: charで定義していると、クリア(0にする)したはずのフラグが、クリアされていないということはあり得ますでしょうか?
gccで a &= 0x7f や a = a & 0x7f などやってみましたが、クリアがされないということはなかったです。ただ、PCとマイコンのコンパイラでは挙動が違うことがあるので何とも言えないです。
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: 決められた時だけスイッチの判定を行う
返信数: 6
閲覧数: 3482

Re: 決められた時だけスイッチの判定を行う

PORTAのリードを下記の関数に置き換えてみてください。 デフォルトでは、連続5回同じ値になると、その値を返します。 unsigned char sampling() { int cnt = 0; int prev = PORTA & 0xff; int cur; while (cnt < 4) { // 注意:prevの分で1回多くPORTAをリードする cur = PORTA & 0xff; if (prev == cur) { cnt++; } else { prev = cur; cnt = 0; } } return cur; } また、char型を使われてるみたいですが、char ...
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: 二次元配列のポインタを他のソースファイルで書き換えたい
返信数: 13
閲覧数: 6518

Re: 二次元配列のポインタを他のソースファイルで書き換えたい

ポインタを使ったバージョンです。 Header.h /*Header.h*/ typedef int *INTPTR; extern INTPTR pointer[]; void setPointer(INTPTR p); void output(); extern int b[]; Main.cpp /*Main.cpp*/ #include <stdio.h> #include "Header.h" int main(void){ int a[][5] = { { 1, 2, 3, 4, 5 }, { 6, 7, 8, 9, 10 } }; for (int i = 0; i < 2; +...
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: DxLibでゲームの実行EXEとは別に設定EXEを用意したい
返信数: 15
閲覧数: 10980

Re: DxLibでゲームの実行EXEとは別に設定EXEを用意したい

> MFCを使うにはオブジェクト指向を習得している必要がある そんなことないと思いますが・・。 簡単な物ならGUIでポイポイするだけで出来上がります。 本に書いてあったからとやめるのじゃなく超簡単ですから一度使ってみてから選択肢から外すなりしてみてはいかがでしょう。 昔のEditionならExpressでもMFC使えますよ。(再配布は出来なかったかもしれませんが) なぜMicrosoft PressのMFC解説本を持っているのにMFCアプリケーションを作成したことがないと思われたのでしょうか?MFCはアサート機能や文字列クラスなどは便利だと思います。Win32 APIが頭に入っていれば、どう...
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: DxLibでゲームの実行EXEとは別に設定EXEを用意したい
返信数: 15
閲覧数: 10980

Re: DxLibでゲームの実行EXEとは別に設定EXEを用意したい

hide さん おっしゃるとおりだと思います。 私の意見を整理しておきます。 Windows SDK (またはWin32 API) 16bit時代から少しずつ修正してきた古株。今のところ、高速に動作する。ただし新規のWindowsアプリケーション開発においてはMicrosoftの推奨ではない。UWP時代にはWin32アプリをUWPアプリに変換するというような話もある。オブジェクト指向は不要。DXライブラリはWin32アプリケーションなので、Win32 APIを知っておくと理解しやすい部分もある。 Microsoft Foundation Class (MFC) .NET Frameworkが誕...
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: 二次元配列のポインタを他のソースファイルで書き換えたい
返信数: 13
閲覧数: 6518

Re: 二次元配列のポインタを他のソースファイルで書き換えたい

すいません、こうしないといけないみたいです。

コード:

int *pointer;
pointer = &(a[0][0]);
pointer = &(b[0]);
int i = pointer[1];
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: 二次元配列のポインタを他のソースファイルで書き換えたい
返信数: 13
閲覧数: 6518

Re: 二次元配列のポインタを他のソースファイルで書き換えたい

このサイトの内容が参考になると思います。
(アバター画像がアレですけど・・・)

http://d.hatena.ne.jp/heiwaboke/20091012/1255275804

コード:

int **pointer;
pointer = &a;
pointer = &b;
int i = (*pointer)[1]; // もはや電波ですね
ならうまくいくと思います。
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: DxLibでゲームの実行EXEとは別に設定EXEを用意したい
返信数: 15
閲覧数: 10980

Re: DxLibでゲームの実行EXEとは別に設定EXEを用意したい

MFCはExpress Editionでは使えない、最近のMFC解説書でamazonレビューの評価が高い書籍が少ない、MFCは結局のところオブジェクト指向を理解していないとつまずく(*)、という理由で私的には△です。 (*) George Shepherd著「プログラミングMicrosoft Visual C++.NET Vol.1 基礎編」のp. 25の次の一文を見て私はMFCに見切りをつけました。 筆者自身の経験から言うと、オブジェクト指向アプリケーションフレームワークの導入により、Windowsプログラミングの学習は昔よりもずっと簡単になっています(もっとも、オブジェクト指向プログラミン...
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: DxLibでゲームの実行EXEとは別に設定EXEを用意したい
返信数: 15
閲覧数: 10980

Re: DxLibでゲームの実行EXEとは別に設定EXEを用意したい

Dixq (管理人) さんが書きました:今の時代WIN32APIの学習を勧めるのはどうなんでしょう…。
C/C++の初心者にJava/C#勧めても怒られることが多いので。
どんなに簡単な言語でもやったことがない人から見るとお化けですよ。
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: LEDマトリクスでの複数パターン点灯
返信数: 24
閲覧数: 11388

Re: LEDマトリクスでの複数パターン点灯

Col = (div1[change % 8] < pt[puttern][8]) ? pt[puttern][col] : 0;の意味ですが、 まず、div1[change % 8]で0~7の間で散らばるような数列を作ります。changeは100から始まるので、数列は、 6, 1, 5, 3, 7, 0, 4, 2, 6, 1, 5, 3, 7, 0, 4, 2, ... のようになります。 次に、各パターンで設定している照度(0~8)と数列を比較します。 照度8の場合、 T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, ... 照度4の場合、 ...
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: DxLibでゲームの実行EXEとは別に設定EXEを用意したい
返信数: 15
閲覧数: 10980

Re: DxLibでゲームの実行EXEとは別に設定EXEを用意したい

普通のプログラミング経験者は、ゲームは作れないがダイアログは作れる、人達です。
ダイアログを作ったり、ファイルを作ったりするのは、ゲームロジックを組み立てるより簡単なので、Windowsプログラミングの入門書で学習してください。

C言語でプログラミングする場合は、「猫でもわかるWindowsプログラミング」がおすすめです。
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: externについて
返信数: 8
閲覧数: 5414

Re: externについて

「14歳からはじめる・・・」ですね。私も読むのに時間がかかりました。非常に勉強になって面白い本だと思います。 externの使い方なのですが... 難しいですよね。コレ、重要なんですけど詳しく解説している本はあまり多くないです。実は今読んでいる本(「14歳から・・・」)の5章にこれの解説が多少書いてあります。他の解説書とは違う切り口なのでためになります。 hideさんの解説もためになりますし、K&Rとかロベールとか良解説もたくさんありますが、ぶっちゃけすぐには理解できないと思います。英語と同じように、aってなんだ、theってなんだ、atってなんだーと問答するのではなく、解説とサンプルコードを分...
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: 2dアクションゲームの坂道
返信数: 8
閲覧数: 6138

Re: 2dアクションゲームの坂道

Dixq さん

あたり判定について虎の巻のようなものをご教授頂けるとは思いませんでした。
本当に本当にありがとうございます。

また、己の浅学を自覚させられました。精進いたします。
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: 状態をカウントする方法について
返信数: 6
閲覧数: 3209

Re: 状態をカウントする方法について

質問とは関係ないのですが、 ソースコード中の「定義があるか」「定義が無かった」は、 「空き状態(空きステート)であるか」「空き状態」と書いたほうがわかりやすいと思います。 空きステートの反対は、「定義された状態」だと思うのですが、 この言葉は「空き状態」に比べるとピンとこない言葉です。 Cプログラマが思いつく、定義があるかというのは、以下のような場合に使うと思います。 #ifdef DEVICE_HAS_LEDR void RED_R() { PORTB |= 0x01; } #endif (略) #ifdef DEVICE_HAS_LEDR // 定義があるか LED_R(); #endif
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: C言語のpthread_create(...)関数の使い放題
返信数: 15
閲覧数: 9658

Re: C言語のpthread_create(...)関数の使い放題

百合子 さん

すみませんでした。C++でプラットフォーム非依存となるとQtが思いつきます。商用版とGPL版があります。
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: LEDマトリクスでの複数パターン点灯
返信数: 24
閲覧数: 11388

Re: LEDマトリクスでの複数パターン点灯

ビルドチェックくらいすべきでした。divをdiv1に変えています。 mbedはローカルにインストールしなくてもIDEが使えるようです。さすが21世紀!! #include "mbed.h" Ticker flipper; BusOut Col(dp3,dp6,dp7,dp8,dp9,dp10,dp11,dp12); BusOut Row(dp15,dp16,dp17,dp18,dp19,dp20,dp21,dp22); uint8_t div1[8] = {7, 3, 5, 1, 6, 2, 4, 0}; uint8_t pt[][9] = { {0x40,0x00,0x00,0x00,0x0...
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: 2dアクションゲームの坂道
返信数: 8
閲覧数: 6138

Re: 2dアクションゲームの坂道

Dixq さん

貴重なご意見どうもありがとうございます。
私も少しコードを書いてみて気づいたことがあるのですが、フレーム毎の移動量を大きくすると壁のすり抜けみたいな現象が発生しました。当たり判定を何回かやり直せばうまくいくのではないかと思いますが、Dixqさんのほうではどのように行っていますか?
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: グローバルキーフックについて
返信数: 6
閲覧数: 3939

Re: グローバルキーフックについて

どうしてグローバルキーフックの方法を知りたいと思ったのですか?
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: C言語のpthread_create(...)関数の使い放題
返信数: 15
閲覧数: 9658

Re: C言語のpthread_create(...)関数の使い放題

マルチスレッドに関しては、Javaに定評があります。
.netもLinuxに対応してきているみたいです。
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: 2dアクションゲームの坂道
返信数: 8
閲覧数: 6138

Re: 2dアクションゲームの坂道

右上がりの坂がバグっていますが、やり方は示していると思います。 直線の坂なので、当たり判定を配列ではなく、1次不等式に変えました。 (製作時間5時間くらいかかっているから勘弁してほしいー) #include "DxLib.h" #define _USE_MATH_DEFINES #include <math.h> const int BLOCKSIZE = 20; const UCHAR map_transpose[6][7] = { // 012345 "WWWWWW", "W W", "W W", "W W", "W@ P/W", "WWWWWW" }; UCHAR map[6][6]; ...
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: eclipseでdxlibを使いたいのですが
返信数: 2
閲覧数: 2504

Re: eclipseでdxlibを使いたいのですが

Visual Studio Expressを使用することをお勧めします。
郷に入っては郷に従え、WindowsプログラミングはVisual Studio, JavaプログラミングはEclipseでやるのが一番楽です。

マニアックな組み合わせでやる人は、メジャーな組み合わせをよく熟知した上でやっています。
そうでないと、わからない項目が雪だるま式に増えるからです。
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: リストの動き
返信数: 6
閲覧数: 3937

Re: リストの動き

多分上のプログラムはプログラムとしては見やすいほうなのでしょうが、読むより書くほうが簡単だったので書きました。関数の作り方(考え方?)が少し違います。 #include <stdio.h> #include <stdlib.h> typedef struct node { int val; struct node *next; } list; list *get_empty() { return NULL; } void _print(list *lst) { if (lst != NULL) { printf("%d ", lst->val); _print(lst->next); } } ...
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: インスタンスのパラメータを監視する方法はありますか?
返信数: 4
閲覧数: 3417

Re: インスタンスのパラメータを監視する方法はありますか?

敵キャラクターのオブジェクトはグローバル変数でしょうか?(グローバル変数ならウォッチで見ることができます) オブジェクトがスコープで見えてないとデバッガで追うのはきついかもしれません。 void func() { printf("Hello, World!"); // デバッガがこういうところにいると変数aは見ることができない } int main() { int a = 0; func(); return 0; } オブジェクトのポインタをグローバル変数に持たせたりすると、見れると思います。 あと、継承で基本クラスのメンバ変数が見れなくなるということはないみたいです。 添付画像を参照願います。
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: 2dアクションゲームの坂道
返信数: 8
閲覧数: 6138

Re: 2dアクションゲームの坂道

スーパーマリオ2までは坂道がないけど、3からは出てきてますよね。
坂道は斜めの直線なので、古典的な当たり判定の式では判定できないです。

予想ですけど、ピクセル画像の単位が32x32としたときに、

コード:

char sakamiti_atari[32][32] = {
0,0,0...
1,0,0...
1,1,0...
1,1,1...
...
};
みたいなのを作って、キャラクターの周りの坂道について判定していると思います。
判定しなければならない坂道は最高6つになりますよね
(キャラクター2x1で中途半端なところにいるのを勘案して3x2)。
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: C言語のpthread_create(...)関数の使い放題
返信数: 15
閲覧数: 9658

Re: C言語のpthread_create(...)関数の使い放題

hide さん
YuO さん

私のコメントについてご指摘ありがとうございます。非常に参考になります。ちなみになんですけれども、非同期処理について下の2つの場合以外の使用例などありましたらご教授いただければ嬉しいです。

・時間のかかる処理(シミュレーション、レンダリング等)のスループットを上げる
・多少時間のかかる処理(ファイルロード、デバイス待ち等)を行うときにGUIが止まらないようにする
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: visual studio 2015 ビルドエラー+ファイルが見つからない
返信数: 4
閲覧数: 3317

Re: visual studio 2015 ビルドエラー+ファイルが見つからない

あきらめて、「(プロジェクトの作り方を細かく知りたい人はこちらで紹介していますのでご覧ください)」の内容をやってみてください。

私がやってもだめでした。たぶんVisual Studio 2015だからうまくいかないのでしょう。
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: C言語のpthread_create(...)関数の使い放題
返信数: 15
閲覧数: 9658

Re: C言語のpthread_create(...)関数の使い放題

async/awaitは使ったことがないんです。すみません。
個人的には、ラムダ式のような見た目が初心者向けではないかなと思います。
Threadクラスが一番単純なのですが、fork/joinを思わせる仕組みがなんとなく好きじゃないです。
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: ■□MIDIDataライブラリについて質問です□■
返信数: 6
閲覧数: 4418

Re: ■□MIDIDataライブラリについて質問です□■

Lがついている文字列とついていない文字列がありますが、混在はOKですか?
Visual Studioのプロジェクトのプロパティページで、
[構成プロパティ]-[全般]-[文字セット]で、[Unicode文字セットを使用する]に設定している場合はすべての文字列にLをつけてみてください。
マルチバイト文字を設定している場合はLをはずしてみてください。
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: LEDマトリクスでの複数パターン点灯
返信数: 24
閲覧数: 11388

Re: LEDマトリクスでの複数パターン点灯

Row, Colともに1で点灯ですね。山勘で書いてみました。 これで動いてくれると嬉しいのですが・・・ #include "mbed.h" Ticker flipper; BusOut Col(dp3,dp6,dp7,dp8,dp9,dp10,dp11,dp12); BusOut Row(dp15,dp16,dp17,dp18,dp19,dp20,dp21,dp22); uint8_t div[8] = {7, 3, 5, 1, 6, 2, 4, 0}; uint8_t pt[][9] = { {0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 8}, //パタ...
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: C言語のpthread_create(...)関数の使い放題
返信数: 15
閲覧数: 9658

Re: C言語のpthread_create(...)関数の使い放題

Linuxのスレッド数上限に関しては、情報があるみたいです。 http://www.yunabe.jp/docs/maximum_number_of_threads.html Windowsのpthread実装は、pthread-win32というオープンソースがあるようですが、あまりメジャーではないようです。 百合子さんがすでにUNIXプログラミングに精通しているならば、使う意味がありますが、そうでなければ使わないことをお勧めします。Visual StudioでCLAPACKを動かそうとして苦労していた人もいたみたいですので。 Windowsでマルチスレッドをするのであれば、下記のものがおすす...
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: opencvのMatの要素値をcsvファイルに生成・書き込み
返信数: 6
閲覧数: 5584

Re: opencvのMatの要素値をcsvファイルに生成・書き込み

takezawaakiragm さん

この掲示板の下のほうに、「フォーラムルールはこちら」というページがあります。
すでに目を通しているかもしれませんが、質問を投稿する前に目を通してみてください。

あと私なんかはだらだら話をするのが好きなだけなのですが、
ビルゲイツがそうだったように、たいていのプログラマーはあいまいなことが嫌いなんだと思います。
今度からはロジカルに質問してみてください。

みけCAT さん
かずま さん

ここは「何でも」質問版なのですから、もう少しソフトに行きましょうよ。
質問の仕方に関する英語のページを示しても、たいていの素人さんは読まないし読めないですよ。
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: Visual StudioでCSSのインテリセンスができません。
返信数: 2
閲覧数: 3134

Re: Visual StudioでCSSのインテリセンスができません。

Visual Studio 2015 Professionalで.ASPプロジェクトを作成しましたがCSSのIntellisenseは動作しているようでした。
マイクロソフトのコミュニティに質問してみると社員さんが回答してくれるかも知れません。

https://answers.microsoft.com/ja-jp
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: Dight Number
返信数: 6
閲覧数: 3125

Re: Dight Number

Cの学習法についてですが、次の3通りだと思います。 (1) 書籍を読む 入門書はCを6, 7割理解するためのものです。間違いが比較的多いので、中級者より上の人はあまり使いません。 カーニハン・リッチー著「プログラミング言語C 第2版」はお金に余裕があれば、買ってもいいでしょう。 (2) インターネット(ブログ・何かのマニュアル)を読む パッとプログラムを組みたい人におすすめです。printfやscanfで検索すると、日本人のかいたページや「何かの」Linux, BSD OSに入っているCのコンパイラの解説がすぐ出てきます。 たいていの言語には「標準ライブラリ」というものがついています。使ってい...
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: Dight Number
返信数: 6
閲覧数: 3125

Re: Dight Number

問題はこんな感じですか?

コード:

1 5
10 42
...
83 63
scanfの返り値が2か確認して、違っていたら終了します。
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: Count Sort でRuntime Error
返信数: 10
閲覧数: 5329

Re: Count Sort でRuntime Error

自前の整数読み取り関数も作ってみました。 getint.cpp #include <cstdio> using namespace std; inline int getint() { unsigned char c; do { c = getchar(); } while (c == ' ' || c == '\n'); int res = c - '0'; while ((c=getchar()) >= '0' && c <= '9') { res *= 10; res += c - '0'; } return res; } getint2.cpp #include <cstdio> u...
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: Count Sort でRuntime Error
返信数: 10
閲覧数: 5329

Re: Count Sort でRuntime Error

ちなみに今知ったのですけど、cinとscanfだと実行時間に10倍くらいの違いがあるようですね。 cin.cpp #include <iostream> int main() { int n, tmp; cin >> n; for (int i = 0; i < n; ++i) cin >> tmp; return 0; } scanf.cpp #include <cstdio> int main() { int n, tmp; scanf("%d", &n); for (int i = 0; i < n; ++i) scanf("%d", &tmp); return 0; } 実行結果 (...
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: Count Sort でRuntime Error
返信数: 10
閲覧数: 5329

Re: Count Sort でRuntime Error

すみません、return 0;の前に次の三行が必要です。

コード:

    delete [] a;
    delete [] b;
    delete [] c;
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: Count Sort でRuntime Error
返信数: 10
閲覧数: 5329

Re: Count Sort でRuntime Error

私もやってみました。とりあえず、CountingSort関数以外をあげておきます。 ex1.cpp #include <iostream> #include <cstdint> using namespace std; typedef uint16_t INTK; typedef uint32_t INTN; typedef uint32_t INTC; // max(c) = 2 * max(n) void CountingSort(INTK *a, INTK *b, INTC *c, INTK k, INTN n) { (省略) } int main() { INTN n; cin >> ...
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: VS2013におけるLive2Dのプロジェクト設定
返信数: 2
閲覧数: 1795

Re: VS2013におけるLive2Dのプロジェクト設定

サンプルの子キレイですね ! [ o u o ] !

プロジェクト直下のlibディレクトリにlive2d_directX_mdd.libは入っていますか?
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: LEDマトリクスでの複数パターン点灯
返信数: 24
閲覧数: 11388

Re: LEDマトリクスでの複数パターン点灯

ここの住人は基本的にWin屋だから答えづらいと思います。
Col, Rowに8chづつ接続しているみたいですけど、LEDは64個ありますか?
マイコンのチップ名と、LEDデバイスの型名を教えていただけると何とかできるかもしれないのですが...
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: その場回転のやり方教えてください!(DXLIB?)
返信数: 5
閲覧数: 3919

Re: その場回転のやり方教えてください!(DXLIB?)

3Dは初めてですが、書いてみました。 #include "DxLib.h" #define _USE_MATH_DEFINES #include <math.h> // プログラムは WinMain から始まります int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { if (DxLib_Init() == -1) return -1; float zofst = 500.0f; auto origin = VGet(0.0, 0.0, zofst); ...
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: その場回転のやり方教えてください!(DXLIB?)
返信数: 5
閲覧数: 3919

Re: その場回転のやり方教えてください!(DXLIB?)

数学的なうんちくでごめんね。 三角形の座標がA(ax, ay), B(bx, by), C(cx, cy)であるとき、こいつをその場で回転させたいというのは、 恐らく重心を求めて、その重心周りに回転させたいということでしょう。なので、まず重心G(gx, gy)を求めます。 G( (ax+bx+cx)/3, (ay+by+cy)/3 ) で、座標変換には平行移動Trans(tx, ty)と回転Rot(phi)があるけど、重心周りに回転させる変換Tは、 T = Trans(gx, gy) Rot(phi) Trans(-gx, -gy)になります。 つまり、次の変換を順番に適用します。 ①重心Gの...
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: 使われていない関数のメモリの無駄
返信数: 14
閲覧数: 8197

Re: 使われていない関数のメモリの無駄

ちなみになんですけど、言語ごとに実行時メモリが違うのは、ガーベジコレクションなどの仕組みで左右されることもあります。 ごめんなさい、実行時メモリをどうやって算出しているかは、私も詳しく把握しているわけじゃないのですが、 要因がいろいろあって、 ・動的メモリ確保(malloc, new):プログラムによってメモリを確保しますが、実際にはユーザーのメモリ空間が足りなくなったら言語ライブラリのほうで一括でとりに行きます。 ・ガーベジコレクション:動的メモリ確保よりもメモリの確保・開放をシステムにゆだねている形になります。 ・DLL:DLLのコード領域の開放タイミングはOSにゆだねられます ごめんな...
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: 使われていない関数のメモリの無駄
返信数: 14
閲覧数: 8197

Re: 使われていない関数のメモリの無駄

Dixq (管理人) さんが書きました:あんどーなつさんは実行ファイルの大きさのことを言ってるのでしょうか?
私は質問者さんは実行中に確保するメモリ使用量の話をしているのかと思いました。
え、私が悪いの?
ウーパールーパー山田さんは、「関数」という言葉を使っているし、Teppさんも「関数」について触れてますし。
リソース(画像・音楽等)のメモリ管理は言語関係ないでしょう(むしろC言語なら簡単ですよね)。


ウーパールーパー山田さん

ちなみになんですけど、言語ごとに実行時メモリが違うのは、ガーベジコレクションなどの仕組みで左右されることもあります。
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: 使われていない関数のメモリの無駄
返信数: 14
閲覧数: 8197

Re: 使われていない関数のメモリの無駄

ウーパールーパー山田 さん

みんな、はぁ、うぅん?、とかうなってるんじゃないかな?

100MB, 200MB分のソースコード(100万行位?)を書くのは大変だし、もし、ウーパールーパー山田さんがそれだけ書けたとしたら、どんなコーディングテクニックも(DLL分けとか抽象化とか)楽勝になっているはず。

そこ、そこなんだよね。きっと
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: C2280 削除された関数を使用しようとしています というエラーが出たのですが…
返信数: 7
閲覧数: 13935

Re: C2280 削除された関数を使用しようとしています というエラーが出たのですが…

あたっしゅ さん

十分です。
(しかし、そのように書かれていたからとしても長年Visual Studioを触ってきたおじさんには眉唾物なのですよ)
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: ゲーム中どこでも使う効果音について
返信数: 8
閲覧数: 4469

Re: ゲーム中どこでも使う効果音について

先ほどのコード例は、ハンドルをTitleに渡すことができる、ことを示していたのですね。 了解です。 ちなみに、同じ記述を書かなくてもよくするには、オブジェクト指向を使うという手があります。 class Scene { public: Scene() { 音が鳴る処理; } }; class Title : public Scene { Title特有の記述 }; class Menu : public Scene { Menu特有の記述 }; WinMain() { DxLib_Init(); { Title title; } // まず、音が鳴って、title画面が表示されます。 { Men...
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: ゲーム中どこでも使う効果音について
返信数: 8
閲覧数: 4469

Re: ゲーム中どこでも使う効果音について

???Menuは?

みけCAT さん

疑似コードが間違ってるからといって怒らないでもらいたいです。
日本語で伝えるのが難しくてコードにするのも時間がかかるから書いてるだけなんですから。
そもそもDXライブラリを使ったことあるんですか?
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: ゲームのロード画面について
返信数: 9
閲覧数: 5059

Re: ゲームのロード画面について

_beginthreadのMSDNヘルプのコード例2にWaitForSingleObjectでスレッドの終了を待つやり方が書いてあります。

https://msdn.microsoft.com/ja-jp/library/kdzttdcb.aspx
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: ゲーム中どこでも使う効果音について
返信数: 8
閲覧数: 4469

Re: ゲーム中どこでも使う効果音について

WinMain関数の中にwhileループ必要だった気がします。 int scene = 0; WinMain() { if (DxLib_Init() == -1) return -1; while (1) { static prev = 0; // シーンの前値検出用 if (prev != scene) { 音を鳴らす; } switch (scene) { case 0: DrawTitle(); break; case 1: DrawMenu(); break; } prev = scene; } return 0; } こんなのでどうでしょうか?
by あんどーなつ
8年前
フォーラム: C言語何でも質問掲示板
トピック: すみません再質問です。VS2012での実行エラー?
返信数: 11
閲覧数: 4615

Re: すみません再質問です。VS2012での実行エラー?

⑨ですけど、一応自分の環境で確認はしています。
公式では「適応」ボタンを押していたような気はしますので、やったほうがいいとは思います。

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