C言語なら俺に聞け(入門編)Part 124

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
C言語の入門者向け解説スレッドです。

★前スレ
C言語なら俺に聞け(入門編)Part 123
http://toro.2ch.net/test/read.cgi/mmo/1384247471/
★過去スレ
http://makimo.to:8000/cgi-bin/search/search.cgi?q=%82b%8C%BE%8C%EA%82%C8%82%E7%89%B4%82%C9%95%B7%82%AF&andor=AND&sf=0&H=&view=table&D=tech&shw=5000
★教えて欲しいのではなく宿題を丸投げしたいだけなら
  ↓宿題スレ↓へ行ってください。
C/C++の宿題片付けます 166代目
http://toro.2ch.net/test/read.cgi/tech/1381909900/
★C++言語については避けてください。C++対応明記スレへどうぞ。
★分からない事をなるべく詳しく書いて下さい。
★ソースコードを晒すと答えやすくなるかもしれません。
  # 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること。
  # サイズが大きい場合はアップローダ等を利用してください。
http://codepad.org/
http://ideone.com/
★開発環境や動作環境も晒すと答えが早いかもしれません。
★質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。
【重要】
当たり前の事ですが、2chではコピペ荒らしは禁止されています
2デフォルトの名無しさん:2014/01/07(火) 21:15:46.23
>>1 リンク先間違えていました。ごめんなさい。

C言語なら俺に聞け(入門編)Part 123
http://toro.2ch.net/test/read.cgi/tech/1386947085/
3デフォルトの名無しさん:2014/01/07(火) 21:51:15.40
過去スレなんて見るやついないから別にいいよ
4デフォルトの名無しさん:2014/01/07(火) 22:35:42.63
time()でプログラムの一定範囲の実行時間を調べたい場合、
time()自身の時間も加算してるんですか?
5デフォルトの名無しさん:2014/01/07(火) 22:47:14.67
>>4
秒単位だしtime()自身の実行時間は気にしなくていいのでは
6片山博文MZコスモ ◆T6xkBnTXz7B0 :2014/01/07(火) 22:48:07.37
time()やclock()は精度低い
Winならパフォーマンスカウンタ、Linuxならgetrusage()使え
7デフォルトの名無しさん:2014/01/07(火) 23:21:07.95
このスレ親切すぎワロタwww
8デフォルトの名無しさん:2014/01/07(火) 23:24:00.34
>>6
ありがとう!使ってみるわ
9デフォルトの名無しさん:2014/01/08(水) 14:34:19.18
ビットマップ画像のピクセルごとのRGBの値を抜き出すプログラムを作りたいのですが、どうにも上手くできません。参考になるサイトがあったら教えてください。ちなみに使ってるのはLinuxです
10デフォルトの名無しさん:2014/01/08(水) 14:39:23.31
libjpeg のソースの中に居たような...
11デフォルトの名無しさん:2014/01/08(水) 15:05:48.62
結局前回の最後で示した構造体で、バ片山はどうやってセットオプションを実現するつもりだろうな。

int printsetoption( int head , int shirt , int arm , int pants , int boots , int armor , int belt , int shoulder )
{

return 0;
}

こうやって装備を渡したらどのセットオプションが発動するかどうか判定して
printfで表示するだけのコードでいいから書いてみて欲しい。
12デフォルトの名無しさん:2014/01/08(水) 15:20:37.10
ファイルを開くときにダイアログが非常に重いのは理由がありますか?
C言語のソースコードを上書き保存するときはショートカットで済みますが
新規で保存する場合、ダイアログが開くのが非常に遅いです。
何とかなりませんかね?使ってるエディタはメモ帳、tredpadです。
13デフォルトの名無しさん:2014/01/08(水) 15:45:18.33
14デフォルトの名無しさん:2014/01/08(水) 15:48:57.73
>>12
1)保存先ディレクトリにファイルが超多い
2)保存先にリンク先のないショートカットとか変なファイルがある
3)HDDがへたってきてアクセスが遅い
4)保存先がリムーバブルメディアまたはネット
5)保存ダイアログの不要なエディタ使う。viとか
15デフォルトの名無しさん:2014/01/08(水) 15:52:15.97
>>11
配列か構造体にしてアドレス渡せよw
16デフォルトの名無しさん:2014/01/08(水) 16:08:02.51
>>14
いや一般的に遅いのは何故かなと、タブを切り替えるくらい早く
ならないのは何故でしょうか?
17デフォルトの名無しさん:2014/01/08(水) 16:11:40.21
>>15
そうしたらまた配列か構造体を宣言しなきゃならないだろ
装備の配列or構造体も影響する話じゃないの?
18デフォルトの名無しさん:2014/01/08(水) 16:17:52.51
装備よりダメ計算のほうが気になる

RPGのダメってだいたいブレるけど、あれってどうやって実装してんの?

攻撃力と防御力で算出されたダメの±10%とか?
19デフォルトの名無しさん:2014/01/08(水) 16:45:15.71
>>13
ありがとうございます!
……でも、画像をそのまま変換したいんじゃなくて、抜き出したRとGを計算したいんですよね……
20デフォルトの名無しさん:2014/01/08(水) 17:20:08.10
ビットマップの仕様なんて検索すればいくらでも出てくるだろ
俺がDDSからBMPに変換するライブラリ作ったときは誰にも質問しなかったぞ
21デフォルトの名無しさん:2014/01/08(水) 17:33:36.62
>>20
いや、俺はあなたじゃないんでそんなこと言われても困ります
22デフォルトの名無しさん:2014/01/08(水) 17:35:57.19
まじめにやると
色空間と トップダウン/ボトムアップ配置と 圧縮(ランレングス) への対応

後者側ほど省略(条件を限定しちゃう)されることが多いな
23デフォルトの名無しさん:2014/01/08(水) 17:38:42.97
画像のフォーマットくらい自分で調べてるだろうよ。

C言語も使える、画像のフォーマットも分かる、これでできないということはまさに「馬鹿には無理」

諦めろ。
24デフォルトの名無しさん:2014/01/08(水) 17:52:10.86
>>18
どうせ運ステータスとかあるでしょ
運ステータス使えば?
25デフォルトの名無しさん:2014/01/08(水) 18:29:24.12
プログラム組んでるとパソコンのファンの音がうるさくなります。
またプログラムの実行時間が遅いんですが、ビデオカード入れたら早くなりますか?
後、ビデオカード、アクセラレータ、グラフィックボードの違いが分かりません。
26片山博文MZコスモ ◆T6xkBnTXz7B0 :2014/01/08(水) 19:05:19.43
>>18
「正規分布 C言語」で検索
27デフォルトの名無しさん:2014/01/08(水) 19:18:15.06
if(x=100)
{
処理
}

一番単純でxに100という値を代入した時だけ処理をする
認証式プログラムを作りたいのですが、これだと総当たりで
アクセスされてしまう可能性があるからこういう方法を考えました


「この問題を解け、りんごみかんが合計で5個ある、1個の値段は
りんご100円、みかん5円である。5個の値段が310円のとき、りんご
みかんは何個あるか」

この問題が解けた時だけ処理を行うプログラムにしたいです。
こうすれば良いと思うのですが具体的な実装方法が分かりません。
何かアイディアありますか?
28デフォルトの名無しさん:2014/01/08(水) 19:21:04.84
>>26
テメーはセットオプションのサンプルコードでも書いてろ
29デフォルトの名無しさん:2014/01/08(水) 19:21:34.60
スワヒリ語でおk
30デフォルトの名無しさん:2014/01/08(水) 19:22:53.88
問題を解かせてその解をパスワードにするってことですよ。
そういうプログラムってあるんですか?
31片山博文MZコスモ ◆T6xkBnTXz7B0 :2014/01/08(水) 19:26:39.47
方程式の自動作成だな
{ax+by==c,
{x+y==z
(a,b,c,x,y,zはすべて正の整数)
32片山博文MZコスモ ◆T6xkBnTXz7B0 :2014/01/08(水) 19:34:18.62
ディオファントス方程式でぐぐれ
x+y<=10
a!=b
3330:2014/01/08(水) 19:37:50.46
あプログラムもその問題を解くって事ですね。
だからプログラムが正しい答えを導かないとダメで、連立方程式とかだと
問題が簡単なので、つまり難易度の高い問題を公開でって事ですかね。
3430:2014/01/08(水) 19:42:48.27
あ公開したら解かれますね…
35片山博文MZコスモ ◆T6xkBnTXz7B0 :2014/01/08(水) 19:44:12.11
8種類くらい用意してランダムで出すといいだろう
小学生でも解ける問題にしないとユーザがあきらめる可能性大
36デフォルトの名無しさん:2014/01/08(水) 19:53:49.02
>>28
そんな検索にもかからない俺様マイナーワード振り回されても困ります!!
37片山博文MZコスモ ◆T6xkBnTXz7B0 :2014/01/08(水) 20:00:58.93
「セットオプション」をキーワード検索でトップ10に入ったら認めてやる
38デフォルトの名無しさん:2014/01/08(水) 20:06:55.92
ラングレンス符号化について質問です。
あれって未だに使われてるんですか?圧縮率ってかなり悪いと思いますが
どうなんでしょう?AAAABBBBCCC A4B4C3ってやつです。
39デフォルトの名無しさん:2014/01/08(水) 20:09:45.75
バ片山が変な条件出して逃げたwwwwwwww
40片山博文MZコスモ ◆T6xkBnTXz7B0 :2014/01/08(水) 20:10:49.18
ReactOSでRLEビットマップを見た。

同じ色が連続するイラストで圧縮率が高い
41デフォルトの名無しさん:2014/01/08(水) 20:13:45.46
片山が逃げたというよりCが欠陥言語だから実装が難しいだけ
42デフォルトの名無しさん:2014/01/08(水) 20:19:03.88
セットオプションってFF4か何かで共鳴って名前ついてなかったっけ?
43片山博文MZコスモ ◆T6xkBnTXz7B0 :2014/01/08(水) 20:20:59.82
>>11
ビットフラグ使えば簡単だって知ってるでしょ? からかわないで
44デフォルトの名無しさん:2014/01/08(水) 20:29:05.13
片山博文MZは眠れないから一日中2chに書き込みを入れる

眠れない原因?

それはドーパミンが過剰分泌されているからです。

どういう症状かわかったならいますぐ医者で抑制剤をもらってきましょう。
45デフォルトの名無しさん:2014/01/08(水) 20:33:34.38
片山にできないことがお前らにできるわけないだろボケ。
46片山博文MZコスモ ◆T6xkBnTXz7B0 :2014/01/08(水) 20:35:45.50
int printsetoption(ITEM items[NUM_SOUBI])
{ int i;unsigned long attr_flags;
attr_flags=(items[0].flags&ATTR_MASK);
for(i=1;i<NUM_SOUBI;i++)
{
attr_flags&=(items[i].flags&ATTR_MASK);
}
if(attr_flags){...}
return 0;
}
47デフォルトの名無しさん:2014/01/08(水) 20:56:52.32
>>45
いくら努力しても糖質には成れないな。
48デフォルトの名無しさん:2014/01/08(水) 21:06:05.96
ここでやるなってんだろバカども
49デフォルトの名無しさん:2014/01/08(水) 21:09:07.72
日本語でおk
50デフォルトの名無しさん:2014/01/08(水) 23:05:11.29
こっちにおいでおいで

ゲームプログラムなら俺に聞け30
http://toro.2ch.net/test/read.cgi/tech/1388933972/
51デフォルトの名無しさん:2014/01/08(水) 23:20:08.89
×こっちに
○こっちへ
52デフォルトの名無しさん:2014/01/09(木) 15:23:59.45
19%の確率で1が出て、37%の確率で2が出るような玩具のコードは一般化した場合どう書けばいいでしょうか?

それぞれの試行は独立してなくて、例えば上記の場合だと、100回やればだいたい19回1が出て、37回2が出るような感じです
一般化というのは、これを19%と37%の固定ではなく、任意の確率と任意の個数指定できるようにしたいのです
例えば、8%、11%、3%、16%、20%のように好きな数だけ好きな確率を指定したいです
53デフォルトの名無しさん:2014/01/09(木) 15:25:29.25
つ 乱数
54デフォルトの名無しさん:2014/01/09(木) 15:46:49.34
double p = drand48();
double prob[5]={0.08, 0.11, 0.03, 0.16, 0.20};
for(i=1; i<5; i++) prob[i] += prob[i-1];
for(i=0; i<5; i++){
if (p < prob[i]) break;
}
result = i;
55デフォルトの名無しさん:2014/01/09(木) 15:49:57.27
probの合計を1になるようにせねばいかんよ
56デフォルトの名無しさん:2014/01/09(木) 15:54:40.99
>1になるように

「1以下になるように」ではなくて?
57デフォルトの名無しさん:2014/01/09(木) 15:56:42.08
確率が整数までで良いのなら
出目の型(int) の大きさ100の配列(array)を用意して、頭から出目を並べる。
int array[100]

<<19個>><<37個>>
111...1111222....222
出目の範囲が 1〜3 だとすると入力は
 出目1の確率 
 出目2の確率 
とし、3で埋めたあとに、1, 2 を 並べたほうがよさそう
(入力確率の総和が 100% にならないといけないから)


実際に振った結果は 0 〜 99 の乱数でえられた値を i とすると array[i] で得る
58デフォルトの名無しさん:2014/01/09(木) 16:01:54.68
わざわざ劣化版の回答を後出ししなくても…
59デフォルトの名無しさん:2014/01/09(木) 16:02:11.97
>>56
> 0.08 / 1.00
=> 0.08
> 0.08 / 0.58
=> 0.13793103448275865
60デフォルトの名無しさん:2014/01/09(木) 16:04:47.56
好きな数だけ好きな確率を指定した結果
総和で 100% になってない場合はどうしたいの?
総和で 100% を超える場合はどうしたいの?
61デフォルトの名無しさん:2014/01/09(木) 16:04:48.56
O(1)なのに劣化版
62デフォルトの名無しさん:2014/01/09(木) 16:05:47.78
>>60
総和が1にならないものは確率なのか
63デフォルトの名無しさん:2014/01/09(木) 16:07:15.23
>例えば、8%、11%、3%、16%、20% のように好きな数だけ好きな確率を指定したいです
これだけ読むと そういう疑問が出てきたわけで
64デフォルトの名無しさん:2014/01/09(木) 16:07:21.07
>>54のは線形探索だから2分探索で高速化出来るね
65デフォルトの名無しさん:2014/01/09(木) 16:09:00.77
>>64
最初に累積値を超えたところが結果になるから二部探索にはできないはず
66デフォルトの名無しさん:2014/01/09(木) 16:10:20.14
>>65
出来るでしょ。
67デフォルトの名無しさん:2014/01/09(木) 16:11:47.08
>>66
じゃ、書いて
68デフォルトの名無しさん:2014/01/09(木) 16:29:21.29
2分探索だと2回ずつ比較してくことになって、数にもよるけど高速化にはならないんじゃ
69デフォルトの名無しさん:2014/01/09(木) 16:59:44.77
>>54
ありがとうございます!
それを参考になんとか完成しました!
struct itemdb{
char name[32];
};
struct dropitem{
int itemid,percent;
};
struct monster{
dropitem ditem[4];
int ditemnum;
};

int main(){
int i,p;
itemdb item[] = {
"アルティメットソード","回復薬","魔法の鍵","ダイヤモンドシールド","何も落とさなかった"
};
monster mob = {
0,2 , 1,4 , 2,8 , 3,16 ,4
};
for(i=1; i<mob.ditemnum; i++) mob.ditem[i].percent += mob.ditem[i-1].percent;
srand((unsigned)time(NULL));
p = rand()%100;
for(i=0; i<mob.ditemnum; i++){
if (p < mob.ditem[i].percent) break;
}
printf( "モンスターは %s を落としました\n" , item[i].name );
return 0;
}
70デフォルトの名無しさん:2014/01/09(木) 17:12:30.22
>>65,>>68
何を言ってるんだ?

x[0]〜x[15]に確立を入れてfor(i=1; i<16; i++) x[i] += x[i-1];

そしてy = rand()%100;

最初にif (y<x[7])で比較して、
 真なら if (y<x[3])
 偽なら if (y<x[11])
で比較、とやっていけばいいだろう
71デフォルトの名無しさん:2014/01/09(木) 17:17:31.16
>>70
パイプラインハザードって聞いたことないの?
というか、実際に動くコードかけよ
72デフォルトの名無しさん:2014/01/09(木) 17:21:34.30
書くまでもないだろうよ…w
73デフォルトの名無しさん:2014/01/09(木) 17:22:15.68
>>69
お前のコードなんかおかしくね?
ダイヤモンドシールドが思ったより出まくるうえに、200回くらいやってもアルティメットソードが1本も出ない。
それってダイヤモンドシールド16%でアルティメットソード2%ってこどたよね?
74デフォルトの名無しさん:2014/01/09(木) 17:23:20.32
誘導

ゲームプログラムなら俺に聞け30
http://toro.2ch.net/test/read.cgi/tech/1388933972/
75デフォルトの名無しさん:2014/01/09(木) 17:23:52.65
>>72
俺はこう思う!だけでコードの書けない人ですね。わかります
76デフォルトの名無しさん:2014/01/09(木) 17:24:05.66
>>74
アルゴリズムの疑問なのにそんな糞スレに誘導しても放置されるだけ
77デフォルトの名無しさん:2014/01/09(木) 17:25:15.93
>>71
ベンチ測るほど大量のアイテムデータ考えるのダルいだろ
78デフォルトの名無しさん:2014/01/09(木) 17:25:59.37
言い訳一級建築士( ´,_ゝ`)プッ
79デフォルトの名無しさん:2014/01/09(木) 17:27:03.46
>>77
スクリプト組んで適当なゲームの攻略ページから武器一覧取得すれば済む話。
80デフォルトの名無しさん:2014/01/09(木) 17:29:14.57
>>73
rand(笑)がネック
81デフォルトの名無しさん:2014/01/09(木) 17:32:25.28
linear search と binary search
の worst case を考えてみよう
要素3つでいいよ
書くまでもない常識だろうに。
82デフォルトの名無しさん:2014/01/09(木) 17:33:59.44
教えて君 「書けないんだろ」
ホモ 「インポじゃないの」
ババア 「いくじなし」
83デフォルトの名無しさん:2014/01/09(木) 17:34:40.64
>>81
お兄ちゃん、見苦しいからヤメて
84デフォルトの名無しさん:2014/01/09(木) 17:50:56.86
そもそもそれを高速化することに何の意味があるのか
85デフォルトの名無しさん:2014/01/09(木) 17:52:33.95
メリットすら分からず劣化版だのとチャチャ入れるお馬鹿ちゃんがいるから
86デフォルトの名無しさん:2014/01/09(木) 17:57:49.57
劣化版って書いた人と線形探索版を書いた人は別の人だよ
というか、>>69の用途なら累積分布を求める必要ないんじゃないの
87デフォルトの名無しさん:2014/01/09(木) 17:59:50.96
>>86
>劣化版って書いた人と線形探索版を書いた人は別の人だよ
分かるけど100%じゃないよね
アナタがそのどちらかで無い限りw
88デフォルトの名無しさん:2014/01/09(木) 18:00:49.13
>>87
線形探索かいたひとだもの
89デフォルトの名無しさん:2014/01/09(木) 18:05:46.94
だったら自分の事を
線形探索版を書いた人
とか言うなよ
気持ちわりい
90デフォルトの名無しさん:2014/01/09(木) 18:08:30.44
二部探索の実装まだー
91デフォルトの名無しさん:2014/01/09(木) 18:11:24.09
確率が整数でいいのなら
>>57の方法が一番現実的だと思う
一度表さえ作ってしまえばO(1)で実行出来る
92デフォルトの名無しさん:2014/01/09(木) 18:18:23.37
>>89
何でテメーが気持ちよくなるレスしなきゃならねーんだ
個人的な感想はブログに書いてろ気持ちわりい
93デフォルトの名無しさん:2014/01/09(木) 18:35:24.84
>>91
洗練されてない上、非現実的だってば
確率0.01を表すのにどうする?配列を10000個にするんだよ?
そんな馬鹿な方法とる人はいない
94デフォルトの名無しさん:2014/01/09(木) 18:36:58.13
0.01%を表す
なんて誰がいっているのだろうか。
95デフォルトの名無しさん:2014/01/09(木) 18:43:27.17
x11.s11.xrea.com/ff5_algorithms
こういうの参考にしたら?
96デフォルトの名無しさん:2014/01/09(木) 18:45:59.19
> 例えば、8%、11%、3%、16%、20%のように好きな数だけ好きな確率を指定したいです

この文章を読んで
・整数しか選ぶつもりがないのでのみを整数を例示した
・特に深い考えはなくたまたま思いついた例が整数だけだったので整数のみ例示した

どちらの解釈を選ぶかって話。
業務のヒアリングなら間違いなく後者の解釈で対応するけど2chの会話ならどっちでもいいんじゃない。
97デフォルトの名無しさん:2014/01/09(木) 18:46:35.15
>>91
空間計算量とりすぎ
98デフォルトの名無しさん:2014/01/09(木) 18:51:28.20
>52
#define PRC (1000)
typedef struct {unsigned per,val;}prm_t;
typedef struct {unsigned spn;prm_t*prm}sed_t;
unsigned xrnd(sed_t*a) {
if (a->prm);else return rnd()%a->spn;
if (a->prm->per&&rnd()%PRC<(unsigned)((double)a->prm->per/a->spn*PRC)) return --a->spn,--a->prm->per,a->prm->val;
unsigned r,t=(a->prm++)->val; while ((r=xrnd(a))==t){} return --a->spn,--a->prm,r; }

#define SPN (1000)
prm_t prm[]={{SPN*0.19,1},{SPN*0.37,2}},*pprm[]={&prm[0],&prm[1],NULL}; sed_t sed={SPN,pprm};
...
if (sed.spn);else sed.spn=SPN,prm[0].per=SPN*0.19,prm[1].per=SPN*0.37;
x=xrnd(&sed);
99デフォルトの名無しさん:2014/01/09(木) 19:00:03.86
>>69
それアホほど偏るんだけど?
関数化してsrandの前にSleep(1);入れて1000回ずつやったけど結果はめちゃくちゃ
Sleep(1);入れないと偏りはもっとひどかったけどな
とにかくゲームとして成立しない
高速化よりこっちのほうが重要だろうがゴミ

C:\Users\美奈子\プログラム\テスト>itemdroptest
アイテム[アルティメットソード] => 0 個
アイテム[回復薬] => 0 個
アイテム[魔法の鍵] => 0 個
アイテム[ダイヤモンドシールド] => 0 個
アイテム[何も落とさなかった] => 1000 個

C:\Users\美奈子\プログラム\テスト>itemdroptest
アイテム[アルティメットソード] => 0 個
アイテム[回復薬] => 586 個
アイテム[魔法の鍵] => 0 個
アイテム[ダイヤモンドシールド] => 414 個
アイテム[何も落とさなかった] => 0 個

C:\Users\美奈子\プログラム\テスト>itemdroptest
アイテム[アルティメットソード] => 855 個
アイテム[回復薬] => 0 個
アイテム[魔法の鍵] => 0 個
アイテム[ダイヤモンドシールド] => 145 個
アイテム[何も落とさなかった] => 0 個
100デフォルトの名無しさん:2014/01/09(木) 19:07:53.43
毎回 srand する奴はこちらへ

ゲームプログラムなら俺に聞け30
http://toro.2ch.net/test/read.cgi/tech/1388933972/
101デフォルトの名無しさん:2014/01/09(木) 19:11:57.42
srandにtime入れればそうなるわな。
windows.hオンクルードしてtimeGetTimeにすれば。
102デフォルトの名無しさん:2014/01/09(木) 19:13:10.73
シードを毎回与える必要は無い
103デフォルトの名無しさん:2014/01/09(木) 19:14:56.68
>>93
そういうことはモンスターが落とすアイテムの確率が1%未満のゲームを見つけてから言え
104デフォルトの名無しさん:2014/01/09(木) 19:16:05.73
1%ってかなり高い
105デフォルトの名無しさん:2014/01/09(木) 19:16:30.70
シードを毎回与えなければ同じ値が出る
たかたがゲームなんだからその必要がないと言われればそれまでなんだけどね
106デフォルトの名無しさん:2014/01/09(木) 19:20:22.76
えっ
107デフォルトの名無しさん:2014/01/09(木) 19:31:29.87
>>98
a->spnがゴリゴリ減るな
108デフォルトの名無しさん:2014/01/09(木) 19:51:02.20
>>97
ならダブルテーブルを使えよ

一つ目は必要な乱数の種類分をかっ詰めた(packした)ビット配列
二つ目はその得られたビットから目的の値を得るテーブル
109デフォルトの名無しさん:2014/01/09(木) 19:51:46.27
C言語はビット演算子があるんだからこういう時に活用しないとな
110デフォルトの名無しさん:2014/01/09(木) 20:32:39.23
また造語野郎が出てきた
こいつは頭悪いのを自覚して無いからタチが悪い
111デフォルトの名無しさん:2014/01/09(木) 20:44:14.95
この再帰関数使ったプログラムを実行して放置したらos壊れますか?


#include<stdio.h>
void yobidasudake(void)
{
yobidasudake();
}
int main(void)
{
yobidasudake();
}
112デフォルトの名無しさん:2014/01/09(木) 20:45:58.65
>>111
OSとコンパイラによる
113デフォルトの名無しさん:2014/01/09(木) 20:48:23.24
>>112
windows8
gcc
です。
どうなりますか?無限に関数が呼び出されてフリーズするような気が
するんですが。
114デフォルトの名無しさん:2014/01/09(木) 20:50:54.40
スタックがオーバーフローしてプログラムが固まるだけだと思う
OSは平気だろ
115デフォルトの名無しさん:2014/01/09(木) 20:53:30.15
>>114
メモリが破壊(物理的にダメになる、取り替えなきゃならない)
って事にはなりませんか?メモリが潰れるようなプログラムは
OSがメモリを管理してるから平気なんでしょうか?
116デフォルトの名無しさん:2014/01/09(木) 20:58:07.97
>>110
人を「頭悪い」呼ばわりした所でお前の頭が良くなるわけでもないのにな
117デフォルトの名無しさん:2014/01/09(木) 20:59:56.04
だな、ただ造語野郎は害悪だから黙ることを覚えるべきだと思うね
118デフォルトの名無しさん:2014/01/09(木) 21:01:00.29
>>117
造語だと?ダブルハッシュとでも言えと?
119デフォルトの名無しさん:2014/01/09(木) 21:01:48.20
>>115
100%ならない
120デフォルトの名無しさん:2014/01/09(木) 21:03:31.64
>>119
安心していいんですね、メモリを一瞬で壊すって物理的な方法以外では
無理なんですかね、摩耗以外で。
121デフォルトの名無しさん:2014/01/09(木) 21:04:29.56
古い本だけど「エキスパートCプログラミング」に当時の古いモニタの垂直同期信号を止めると
モニタから火を噴くってのがあって、「これぞ未定義動作だ!」とか書いてあったのを思い出した
122デフォルトの名無しさん:2014/01/09(木) 21:22:21.19
>>90
CSTLのlower_boundってのがまさにそれだね
普通に実装するとそうなるだろうから探せば沢山あると思うよ
123デフォルトの名無しさん:2014/01/09(木) 21:24:19.52
>>121
IBM PCのモニタですね
フライバックトランスの設計ミス?とかで
124デフォルトの名無しさん:2014/01/09(木) 21:28:45.32
>>123
そそ
だから基本的に未定義動作は危険だと自分に言い聞かせている
今のPCのOSとハードウェアではまず滅多な事はないけど
だいたいダイアログ出るかコアダンプ吐いて落ちる
125デフォルトの名無しさん:2014/01/09(木) 21:52:29.68
その本の受け売りで実体験は無いから笑って読めるけど
もしそれが留守中の出来事だったらと思うと・・・人生落ちますわぁ
126デフォルトの名無しさん:2014/01/09(木) 21:55:24.62
モニタは通路に置いてあったって事でおk
127デフォルトの名無しさん:2014/01/09(木) 22:43:51.07
>>118
二次元配列は「二重配列」とは言わない
128デフォルトの名無しさん:2014/01/09(木) 22:48:13.67
「2つの配列」でOK
129デフォルトの名無しさん:2014/01/09(木) 22:54:04.67
>>127
2次元配列じゃないんですけど・・・
130デフォルトの名無しさん:2014/01/09(木) 22:54:55.50
新しい造語をやたらと使うのは「言語新作症」と言って統合失調症の症状だな
131デフォルトの名無しさん:2014/01/09(木) 22:55:29.63
結局ゲームで使う確率はランダムな数値の入った配列を使うんでしょ?
132デフォルトの名無しさん:2014/01/10(金) 00:08:35.67
またゲームかよ
133デフォルトの名無しさん:2014/01/10(金) 01:01:21.51
>>131
確率用のテーブルが云々ってきいたことあるだろ。
普通のゲームは最初にrandみたいなやつを一度呼び出して、その後はそのrandで得た値を次のシードにも使う。
つまり最初のrandの値が出た時点で後のrandの値は決まったも同然。

だけどプレイヤーから見れば完全なランダムに見える。
134デフォルトの名無しさん:2014/01/10(金) 06:31:31.52
x = x*a + b
135デフォルトの名無しさん:2014/01/10(金) 10:37:14.19
フローチャートって何か作るとき、毎回作成するの?
136デフォルトの名無しさん:2014/01/10(金) 11:47:54.48
>>135
作るゲームのボリュームにもよる
137デフォルトの名無しさん:2014/01/10(金) 12:17:23.38
そういう時は頭を指さして「フローチャートはもう出来ている… オレの頭の中に」というのさ
138デフォルトの名無しさん:2014/01/10(金) 13:59:16.00
>>135
UML、デザパタ、BDD,分散VCSの使い方覚えろ
139デフォルトの名無しさん:2014/01/10(金) 14:43:17.46
cでゲーム作るような入門者は、殆どの場合がQML以外触らない方が幸せ
140デフォルトの名無しさん:2014/01/10(金) 17:04:17.15
CでGUIを備えたゲーム作ろうと思ったら、CからWindowsアプリケーションの開発までの間が高すぎる。
できるようになれば当たり前で何ともないけど、初心者だとウィンドウ出すだけでも大変だろ。
それに加えてウィンドウプロシージャでのメッセージ処理とかいきなり入ってくるし、かなりきつい。
141デフォルトの名無しさん:2014/01/10(金) 17:49:46.29
じゃ何なら低いんだよw
ICたたくプログラムをROM焼きならWindowsは出てこないが
142デフォルトの名無しさん:2014/01/10(金) 18:01:10.34
GUIを備えてないゲームを作ればいんじゃね?
143デフォルトの名無しさん:2014/01/10(金) 18:02:54.12
Windowsならc#だけ触ってりゃ良いでしょ
cで玩具作るならunixの方が遥かに楽。
仕事になると途端にハードルが高くなり大量のPHPerが生まれる
144デフォルトの名無しさん:2014/01/10(金) 18:13:06.03
Windows上でcを使うならサクラエディタや
テラパッドの劣化版ぐらいが最初に目指すとこじゃね?
145デフォルトの名無しさん:2014/01/10(金) 18:24:20.89
エディタを甘く見すぎ
CでWindowsゲームプログラム初心者なら箱入り娘でもつくっとけ
146デフォルトの名無しさん:2014/01/10(金) 18:33:22.65
簡単なゲームならLinux上でSDL+OpenGLが一番に楽。
何かの役に立つか立たないかでいえば、多分、別の選択肢がずっと良い
c++でwxWidgetsかQtぐらいしかなくって、商業的に成功してるように見えるのがqt
で、そこらのボンクラがc++で開発できるようになるか?
ウェブ開発にでも行った方が幸せなので、QMLで遊んで機会を伺うというのが良いと思うの
147デフォルトの名無しさん:2014/01/10(金) 18:34:50.45
C言語関係ない部分が多くなるんだから
ゲームの話はよそでやれ

ゲームプログラムなら俺に聞け30
http://toro.2ch.net/test/read.cgi/tech/1388933972/
148デフォルトの名無しさん:2014/01/10(金) 18:43:26.73
ゲームを作りたいという人間は、まず本当にcで作る必要があるか
自分自身を疑った方が良いよ
149デフォルトの名無しさん:2014/01/10(金) 18:51:37.22
OpenGLってCGやCADのような高価なアプリに使われてるというので、
DirectXより高級なものだと思っていた。
実際に使ってみると低級だった。
150デフォルトの名無しさん:2014/01/10(金) 19:02:06.21
頭が定休?
151デフォルトの名無しさん:2014/01/10(金) 19:02:55.72
ちょっとアセンブラちっくだよね
152デフォルトの名無しさん:2014/01/10(金) 19:10:39.32
glBegin() glEnd() の入れ子内で glVertex??() を積み上げるんだけど
glEnd が漏れると面倒なことがおきる

んで、C言語だと入れ子を保障する機構をつくるのが難しいからいやん
153デフォルトの名無しさん:2014/01/10(金) 19:23:37.41
>>148
動作が速いってのがポイントだと思う

ゲームなんて大抵の言語で作れるけど、実行速度はどこかで頭打ちになる
頭打ちになってから実行速度の速い言語を学習しなおすのも面倒だし
だったら最初からCでやったほうがいい

アセンブラのほうが速いけどアセンブラは面倒くさすぎる
154デフォルトの名無しさん:2014/01/10(金) 19:26:01.37
>>133
釣りだろ、と思って100万回やってみたら意外に確率通りに分布してくれた
本当なのか?
155デフォルトの名無しさん:2014/01/10(金) 19:38:10.06
質問です。
所持できるアイテムの上限を99個とするとき、アイテ
ムを入手するたびにリアロックでアイテムを記憶する
メモリを拡張していったほうがいいのでしょうか?
それとも最初のマロックで99個分確保してしまったほ
うがいいのでしょうか?
156デフォルトの名無しさん:2014/01/10(金) 19:45:38.07
マロックってww mallocか
getsをゲッツと読むような感覚
157デフォルトの名無しさん:2014/01/10(金) 19:46:34.80
意地でもここでやりたいがために
C言語をからめようとしてるのがうざい
移動しろ

ゲームプログラムなら俺に聞け30
http://toro.2ch.net/test/read.cgi/tech/1388933972/
158デフォルトの名無しさん:2014/01/10(金) 19:48:21.43
昔気になってYoutubeで見たけど
ネイティブな外人さんもマロックって言うんだよな
159デフォルトの名無しさん:2014/01/10(金) 19:48:45.07
>>157
だからそこは放置されるって
160デフォルトの名無しさん:2014/01/10(金) 19:50:05.03
>>159
盛り上げればいいんじゃん

ジャパンエキスポに 寄生する朝鮮人じゃないんだから
161デフォルトの名無しさん:2014/01/10(金) 19:53:30.29
上限近くまで使われるのが普通なら最初に全部マロックしてしまうし、
数個程度しか使われないのが普通なら毎回リアロックするし、
間とをって、例えば4の倍数個ずつマロックするとか、そんな感じ。
162デフォルトの名無しさん:2014/01/10(金) 19:58:44.73
>>159
だからスレチを見逃せってか
「人の嫌がることをすすんでやります」
の解釈が日本と異なる文化圏の人か
163デフォルトの名無しさん:2014/01/10(金) 20:01:21.93
>>158
そうなのか
じゃあゲッツも許されるよな
freopenはフリオープンと読んでいるしgetcはゲッチと読んでいる
charはキャラと呼ばずにチャーと読んでる
164デフォルトの名無しさん:2014/01/10(金) 20:05:15.67
getch()もゲッチと読むのか?w
まあこれは環境依存の関数だけど
165デフォルトの名無しさん:2014/01/10(金) 20:09:15.86
getch() → ゲッチ
getc() → ゲック

ゲッチは環境依存というよりカーシスの関数だな
166デフォルトの名無しさん:2014/01/10(金) 20:13:51.01
>>162
そこまで言うならここでは言語仕様の話は今後一切するなよ。
「〇〇を実現するためのコード」は一切アウトってことでいいな。
167デフォルトの名無しさん:2014/01/10(金) 20:14:18.26
いんくるーどすたじおえっち
168デフォルトの名無しさん:2014/01/10(金) 20:16:03.75
>>166
こっちはこっちでやるから気にしなくていいよ
169デフォルトの名無しさん:2014/01/10(金) 20:17:51.65
>>166
延々続けてただろ
どこのマヌケだ
170デフォルトの名無しさん:2014/01/10(金) 20:20:39.55
>延々
こういう曖昧な表現でしかモノを言えないのが自治のためだけに住み着いてる基地害w
171デフォルトの名無しさん:2014/01/10(金) 20:23:19.23
荒らしのためだけに住み着くよりはマシだな
172デフォルトの名無しさん:2014/01/10(金) 20:23:27.69
>>165
ゲックか
これからよう呼ばせてもらうかw

「あのーこのエフゲックなんですけど〜」とか社内で大声出したらどうなるかやってみるかw
Linuxでもあるねゲッチ
173デフォルトの名無しさん:2014/01/10(金) 20:24:49.93
甘いな
fgetcは「フゲック」だ
fgri()なんて関数があったら「ふぐり」と呼べるんだが
174 ◆QZaw55cn4c :2014/01/10(金) 20:26:43.79
>>154
線形合同法だね
175デフォルトの名無しさん:2014/01/10(金) 20:28:21.09
>>161
難しいですね・・・。
開発者である自分自身のテストプレイでは平均40個く
らいまでですが、普通の人がどのくらい持つか分から
ないですし・・・。
176デフォルトの名無しさん:2014/01/10(金) 20:34:15.17
リアロックって車の後部ドアをロックするようにも聞こえる
そう言えばC++ではnewでrealloc()に相当するような関数はないが(Cのように使えばあるが)、
メモリブロックの調整で済むかコピーするかは実行時に判断出来ないので削ってしまったんだな
コンテナ使えば関係ないし

コピーコンストラクタと代入演算子の多重定義で相性が悪かったのかもしれんし
ってここはC++のスレではなかった
これこそスレ違い
177デフォルトの名無しさん:2014/01/10(金) 20:34:15.48
ゲープロスレ立てたのってここの自治ゴミだろ
テンプレも前スレもいい加減
スレの一つも満足に立ててから言えよゴミが
178デフォルトの名無しさん:2014/01/10(金) 20:34:50.90
>>177
だから●持ってるんだけど知っての通り今はスレ立てに使えないだろうが
どれだけ不便してるか
179デフォルトの名無しさん:2014/01/10(金) 20:37:52.82
荒らしはいつも偉そうだな
まあ謙虚な荒らしなんていないがwww
180デフォルトの名無しさん:2014/01/10(金) 20:41:09.86
だよな
気に入らないってだけで荒らし認定する糖質と同じくらい偉そうだよなwww
181デフォルトの名無しさん:2014/01/10(金) 20:43:29.20
>>152
Cならさらっと書いてやるからどんな状況か詳しく
182デフォルトの名無しさん:2014/01/10(金) 20:46:14.82
OpenGL使ってるのか
確かにCだと面倒だな
183デフォルトの名無しさん:2014/01/10(金) 20:50:49.36
C言語でオシャレにラブレターみたいなの書けるの?
184デフォルトの名無しさん:2014/01/10(金) 21:03:12.45
>>165
ゲットキャラ
ゲットシー
185デフォルトの名無しさん:2014/01/10(金) 21:04:42.22
>>183
int main()
{
while(1){ printf("好きだ。愛してる。"); }
return 0;
}
186デフォルトの名無しさん:2014/01/10(金) 21:07:05.91
>>183
IOCCCで、おしゃれなラブレターを見た記憶がある
187デフォルトの名無しさん:2014/01/10(金) 21:10:37.89
>>181
C++ なら コンストラクタで glBegin デストラクタで glEnd ってやるクラス用意しといて
そのオブジェクトを作れば glBegin 〜 glEnd の入れ子の保障が文法の力で楽できるでしょ
(new 〜 delete は考えないw)

Cでそういう楽できるしくみって無理じゃない? 書く人の注意力に任すしか方法がないという感じなんだけど
188187:2014/01/10(金) 21:18:45.54
{ と } の数あわせろ ってのと同じ次元かも
glBegin() が { に相当
glEnd() が } に相当
インデントするなりして間違いなく開いたら閉じろ ってね
189デフォルトの名無しさん:2014/01/10(金) 21:19:18.70
>>187
どこのサンプルみても同じスコープ内でBeginとEndを対にしてるわけだが
190デフォルトの名無しさん:2014/01/10(金) 21:20:34.45
>>189
んとね 自分で書いてるときに glEnd を書き漏らした場合にわからない
それを書き漏らさないように工夫できないか? そういう話
191デフォルトの名無しさん:2014/01/10(金) 21:32:31.98
>>190
コンストラクタ、デストラクタに分けて書く方が、
begin,endの対を何処に書いたかわからなくなるだろ
fopen,fcloseの対も、glBegin,glEndも、
可能な限り同じスコープに書くもんじゃねーの?
192デフォルトの名無しさん:2014/01/10(金) 21:44:43.57
ふむん 俺が特異ということか
同じスコープだよ

Begin
数行
(End ここで閉じ忘れ)
Begin
数行
End
Begin
数行
End
Begin
数行
End

うまく描画できてなくて 閉じ忘れを見つけるのに苦労したもんでね。。。
193デフォルトの名無しさん:2014/01/10(金) 21:45:23.49
>>184
FFにケット・シーとかいうのがいたような記憶が
関係ないけど
194デフォルトの名無しさん:2014/01/10(金) 21:46:06.55
OpenGL使ってるとメモリリークの原因探るのに苦労する事ないか?
195デフォルトの名無しさん:2014/01/10(金) 21:55:20.70
X11の時点でリークしてるからプロファイラ使ってるわw
196デフォルトの名無しさん:2014/01/10(金) 21:57:05.66
>>188
myBegin()とmyEnd()とmyAllEnd()作って、
myBegin()ではglBegin()すると同時にカウンタを増やす。
myEnd()ではglEnd()すると同時にカウンタを増やす。
最後にmyAllEnd()を必ず1回呼び出すが、ここではカウンタの残り値の数だけglEnd()を呼び出す。

美しい、なんて美しい仕組みなんだ。
例えmyAllEnd()を2回呼んでもバグにならない至高の仕組み。
197デフォルトの名無しさん:2014/01/10(金) 22:05:15.86
>>196
違うだろ

>>192のトラブルを解決するにはBeginのラッパー作ってBeginラッパー内ではまずbeginフラグをチェックして、trueならまずEndしてからBeginしてbeginフラグを立てればよい

EndラッパーではEndすると同時にbeginにfalseをセットすればよい
198デフォルトの名無しさん:2014/01/10(金) 22:05:28.80
perlかgrepつかって数えろ
199デフォルトの名無しさん:2014/01/10(金) 22:07:39.80
>>196
循環しなければね、循環参照ならそうはいかないが、そのときはどうする?
200デフォルトの名無しさん:2014/01/10(金) 22:08:47.20
>>197
ネストができないbegin〜endとか誰得?
201デフォルトの名無しさん:2014/01/10(金) 22:09:36.72
文字列がただのファイル名かフルパスかを判定する方法を教えてってください
202デフォルトの名無しさん:2014/01/10(金) 22:19:39.86
lintでOK
203デフォルトの名無しさん:2014/01/10(金) 22:21:40.56
>>201
/ だの x: ならフルパス
204デフォルトの名無しさん:2014/01/10(金) 22:24:26.19
[ readlink -f $file = $file ]
205デフォルトの名無しさん:2014/01/10(金) 22:26:51.76
それは相対パスであることが条件だな
206デフォルトの名無しさん:2014/01/10(金) 23:07:31.72
つうか、glBegin/End とかやるのはもう古いよね。
207デフォルトの名無しさん:2014/01/10(金) 23:16:38.00
reallocするはずのところをmallocしてたせいで
メモリ上のデータが一部消える不可解なバグに3時間悩まされた
死ねよ
208デフォルトの名無しさん:2014/01/10(金) 23:21:24.36
リンクが切れただけで消えてはいないんじゃない?
209デフォルトの名無しさん:2014/01/10(金) 23:23:09.91
>>201
GetFullPathName
210デフォルトの名無しさん:2014/01/10(金) 23:23:35.48
うるさいハゲ
それくらい知ってるわ
211デフォルトの名無しさん:2014/01/10(金) 23:56:38.77
それがどうしたチビデブ
212デフォルトの名無しさん:2014/01/11(土) 00:40:50.47
>>207
自前でデバッグ用アロケータを作るがよい
213201:2014/01/11(土) 00:45:48.88
ありがとうございます

>>203さんのを参考に
filename[1]==':'のときにフルパスだと判定することで目的が達成できました
これでマップとモンスターのデータが管理しやすくなります
214デフォルトの名無しさん:2014/01/11(土) 00:49:05.66
お前らC言語でコーディングするときに聴いてる音楽教えろ
215デフォルトの名無しさん:2014/01/11(土) 00:55:18.88
フィオナアップル
216デフォルトの名無しさん:2014/01/11(土) 00:56:57.31
>>214
恋愛サーキュレーション
217デフォルトの名無しさん:2014/01/11(土) 01:00:55.01
プリキュア連続再生
218デフォルトの名無しさん:2014/01/11(土) 01:07:10.17
:>>200
DirectXしか使ったことないんだけど、DirectXのBegin〜Endはネストしないぞ
OpenGLはネストするの?
219デフォルトの名無しさん:2014/01/11(土) 01:40:01.05
お前ら未だにrand()使ってんのかよ。

学会によっては禁止されてるほどアレな関数だぞ。
220デフォルトの名無しさん:2014/01/11(土) 01:43:50.75
そうかそうか
221デフォルトの名無しさん:2014/01/11(土) 01:44:33.67
学会によらず禁止されたら取り込まれるさ
222デフォルトの名無しさん:2014/01/11(土) 02:15:25.81
>学会によっては禁止

馬鹿はどうしようもないな。
用途によって禁止されるところがあるのはおかしなことではない。

むしろ標準化されることの重要性や
用途によって要求される乱数性の度合いを度外視して
「俺のすげーライブラリ」を進めてくる奴は迷惑千万
223デフォルトの名無しさん:2014/01/11(土) 05:10:30.25
randをお使わなかったらどうしんだよ
ミリ秒を割った」余りにでもするkっか?
224デフォルトの名無しさん:2014/01/11(土) 08:03:47.01
禁句: てりやきツイスター
225デフォルトの名無しさん:2014/01/11(土) 08:21:23.58
>>213
>>203は嘘つきなので信じないで下さい
226デフォルトの名無しさん:2014/01/11(土) 09:15:39.56
読み難いC言語ソースコードコンテストの優勝者発表
ttp://news.mynavi.jp/news/2014/01/09/091/
227デフォルトの名無しさん:2014/01/11(土) 10:55:07.29
擬似乱数で周期が短いんだっけ?
boostにあるmtなんとか推奨されてたな
228デフォルトの名無しさん:2014/01/11(土) 11:09:54.87
ゲームプログラミングやってたら乱数ならメルセンヌツイスタとみみにたこができるくらい聞かされるだろ
いつまですれ違いを続けてるんだ
229デフォルトの名無しさん:2014/01/11(土) 11:18:28.72
ゲームの乱数なんて男女のテーブルで十分
能力的に無理だからそれ以上考えるな

いい加減すれ違いやめれ
230デフォルトの名無しさん:2014/01/11(土) 11:34:06.44
xorshiftがお手軽でいい
231デフォルトの名無しさん:2014/01/11(土) 11:37:46.67
最大最小を求めるやつです
ctrl+zで終了したいのですがctrl+z入力すると改行されて入力待ち、もう一回入れると終了します。
文字列に突っ込んでるからまずいのでしょうか?
どうなってる%
232デフォルトの名無しさん:2014/01/11(土) 11:40:46.13
すいませんm(_ _)m
最大最小を求めるやつです
ctrl+zで終了したいのですがctrl+z入力すると改行されて入力待ち、もう一回入れると終了してくれます。
文字列に突っ込んでるからまずいのでしょうか?
どうなってるのか教えてください
void pr7(void)
{ int f=0;double max=0,min=0,c=1;char d="1";
char* a=&amp;d;
char* enda;
printf("数字入れて:");
rewind(stdin);
while(scanf("%s",a)!=EOF)
{ c=strtod(a,&amp;enda);
if (f==0){max=c;min=c;f++;}
else if (c>=max) {max=c;printf("max");}
else if(c<=min){min=c;}
printf("%.2f",c);
printf("\n数字入れて:");
rewind(stdin);}
printf("max=%.2f,min=%.2f\n",max,min);
}
233デフォルトの名無しさん:2014/01/11(土) 12:09:33.05
UnixかWindowsのキー入力とかシグナルハンドラについて書かれた鈍器でも調べなさい
234デフォルトの名無しさん:2014/01/11(土) 15:03:28.44
C言語を使ってエクセルのファイルを読み込む時に
都道府県名とかの漢字を表示せるやり方教えてくださいな
ぐぐってもビットがちがうとかいまいちよくわからんかった
ちなみにウインドウズ
235デフォルトの名無しさん:2014/01/11(土) 15:05:12.89
何を言ってるか全く分からんがもしかしてバイナリデータを単純にテキストで読もうとしてるのだろうか
236デフォルトの名無しさん:2014/01/11(土) 15:09:38.11
printf
237デフォルトの名無しさん:2014/01/11(土) 15:11:05.83
さすがにCSVにしてるかパース用ライブラリ使ってるだろw
238デフォルトの名無しさん:2014/01/11(土) 15:12:14.89
エクセルのデータを読み込んでコマンドプロンプトの実行画面で表示したいんだが、
漢字のところが記号とかになったりして困ってる
うーん伝わるかな?
239デフォルトの名無しさん:2014/01/11(土) 15:13:54.34
コンシューマーゲームってC言語で作られてるの?
240デフォルトの名無しさん:2014/01/11(土) 15:16:03.81
ファイル閉じてからprintfで出力のとこは大丈夫だと思う
char使ってやるのはあってますか?
241デフォルトの名無しさん:2014/01/11(土) 15:19:43.37
アイテム画面でアイテムが画面に入りきらないときに
カーソルが画面の一番下にきて、さらに下を押すとアイテム画面がスクロールするじゃん?
あれってどうやんの?
242デフォルトの名無しさん:2014/01/11(土) 15:22:11.65
>>240
カーソルの位置は変えずにアイテムの表示だけを変える。
243234:2014/01/11(土) 15:30:19.23
csvにしていなかったようだ
解決、ありがとう
244デフォルトの名無しさん:2014/01/11(土) 15:54:25.52
>>242
やってみたけどアイテムと表示がずれるようになった
アイテム一覧はスクロールするけど
どれ選んでもスクロール前の一番下にあったアイテムになる
245デフォルトの名無しさん:2014/01/11(土) 16:05:30.63
ゲーム制作スレ行くかソース貼りなさいよ
246デフォルトの名無しさん:2014/01/11(土) 16:12:05.86
お前らカウンタ(cnt>=0)が0のときに処理を抜けるときどう書く?

if (cnt==0)break;

って書く?
俺はカウンタの数値そのものをミスってマイナスになってたら怖いから
どうしても

if (cnt<=0)break;

って書いてしまうんだが
247デフォルトの名無しさん:2014/01/11(土) 16:14:25.91
それはバグの発見を遅らせる拙い手だ
248片山博文MZコスモ ◆T6xkBnTXz7B0 :2014/01/11(土) 16:33:42.45
>>244
スクロール位置とカーソル位置を保持する

貴殿に差し上げる担々麺は御座いません
249デフォルトの名無しさん:2014/01/11(土) 16:39:34.04
そんな丁寧に言われても
250デフォルトの名無しさん:2014/01/11(土) 17:51:48.00
情報が古いかも知れないけどエクセルのファイルフォーマットって
IStorageインターフェースを使うとファイル内ファイルシステムみたいに
読み込めるんじゃなかったっけ?
OLEは言語非依存だからC言語からでも普通に操作できるよ
と言うより、プリミティブな操作は大抵C言語で解説されてる
251デフォルトの名無しさん:2014/01/11(土) 17:52:48.71
>>247
サンクス



ではお前らにもう一つ質問だ
不定回数(不定であって無限ではない)のループ処理でwhileを使う場合、無限ループ対策はしてる?
例えば理論上最大でも1000回でbreakするwhileループの場合、
何かの加減で無限ループになったら怖いから1ループごとに本来の処理目的とは関係ない変数cntをインクリメントして、
それが理論上の最大回数を超えた場合でもbreakするようにしたりしてる

cnt=0;
while(1){
//本来の処理
//本来の処理、何らかの条件でbreak
//本来の処理
//本来の処理
cnt++;
if (cnt>=1000)break;
}

本来の処理でメモリ操作ミスってcntがやられたとき(cntが永遠に1000を越えないようなバグ)の対策もしといたほうがいいかな
252デフォルトの名無しさん:2014/01/11(土) 18:10:16.00
cnt=0;
while (1) {
if (cnt == 1000) {
break;
// 処理1
// 処理2
// …
}
}
ifの位置が違って気持ち悪い
普通ならこう書くけど
ループってのは、最初に条件分岐するってわかってる??
253デフォルトの名無しさん:2014/01/11(土) 18:13:52.73
まあ無限ループ対策が有効な場合はあるけど

メモリ操作云々まで気にするならもはやCなんか窓から投げ捨てろ
254デフォルトの名無しさん:2014/01/11(土) 18:19:41.13
スマホで書いたらえらい間違ってるな
cnt=0;
while (1) {
if (cnt == 1000) {
break;
}
// 処理1
// 処理2
// …
cnt++;
}
255デフォルトの名無しさん:2014/01/11(土) 18:22:34.31
このスレ見てるとものすごい勢いでゲーム量産されてるな
256デフォルトの名無しさん:2014/01/11(土) 18:25:27.84
>>251
>何かの加減で無限ループになったら

こういうのを対処療法的に解決するのは間違い
無限ループになる原因を取り除かなくては駄目
257デフォルトの名無しさん:2014/01/11(土) 18:25:36.61
while (cnt < 1000)にしろよ
258デフォルトの名無しさん:2014/01/11(土) 18:44:47.29
if(1000 == cnt){}
って、定数を前に置けってバッちゃがいってた
259デフォルトの名無しさん:2014/01/11(土) 18:49:09.23
>>255
そして、就活時にDirectXやUnityで作られたゲームを見て絶望する大量の情報システム科
260デフォルトの名無しさん:2014/01/11(土) 19:10:41.53
電検三種を持って、制御理論の研究室へ行くの技術者っぽい仕事が出来て、
それ以外は、多分、ぺちぱーになるんだ。
261デフォルトの名無しさん:2014/01/11(土) 19:21:22.53
GUIプログラミングに沢山の選択肢があるけど、
swingが一番に枯れてて、多くのツールキットに影響を与えているんだ
今日日、cでゲーム作るってすごい情弱。陸の孤島にでも住んでるの?
262デフォルトの名無しさん:2014/01/11(土) 19:33:08.24
既存のフレームワークがないと何もできない情弱が何か言ってるぞw
もし世界にフレームワークが1つもなかったらこいつはどうするつもりだろうなw
263デフォルトの名無しさん:2014/01/11(土) 19:55:30.49
ありえない仮定に意味は無い
264デフォルトの名無しさん:2014/01/11(土) 19:58:13.27
いや俺が気持ちよくなる という重大な意味がある
265デフォルトの名無しさん:2014/01/11(土) 20:47:26.73
既存のフレワは汎用性が高い代わりに重い。

まぁ重いと感じるところまでいかないゲームしか作れない奴には
縁のない話かもしれないが。
266デフォルトの名無しさん:2014/01/11(土) 20:53:08.57
C言語でアイテムエディタの作り方教えてくれ
コンソールアプリでも構わん
267デフォルトの名無しさん:2014/01/11(土) 20:58:30.23
だがアイテムデータのフォーマットはまだ決まっていない(キリッ
268デフォルトの名無しさん:2014/01/11(土) 21:01:20.70
フレワwww
バね!
269デフォルトの名無しさん:2014/01/11(土) 21:03:57.88
フォーマットは決まってないっつーか決めてない、汎用のだよ
ジャンルも自分で剣とか槍とか好きなのを追加して、さらにそれぞれのジャンルに攻撃力とか命中率とか好きなパラメーターを追加して
アイテムを登録するときはそれぞれの項目の入力を求められたり、登録したら勝手にユニークなIDを割り振ってくれたりするやつ
270片山博文MZコスモ ◆T6xkBnTXz7B0 :2014/01/11(土) 21:04:27.51
>>266
MySQLとかSQLiteとか使えば色々便利
271デフォルトの名無しさん:2014/01/11(土) 21:09:47.93
どんなゲームのアイテムか知らんけどMMORPGでもない限りデータベース使うのは面倒だろ。
272デフォルトの名無しさん:2014/01/11(土) 21:16:51.71
>>269
構造体のポインタの配列でいいだろ。
なにがわからんの?
273片山博文MZコスモ ◆T6xkBnTXz7B0 :2014/01/11(土) 21:18:18.67
昔とは違って最近のデータベースは当たり前にGUIが付いてくる。
ユニークID付けるのは自動ででできるし、大規模な設計変更にも対応できる。
SQL勉強したての馬鹿でも使えるよ。使わないのは馬鹿
274デフォルトの名無しさん:2014/01/11(土) 21:22:16.10
>>273
はぁ?
いちいちitemid INTEGER UNIQUEとかやんのかよめんどくせー
275デフォルトの名無しさん:2014/01/11(土) 21:23:11.75
楽できるようなもん作れとかいってるのかな
276デフォルトの名無しさん:2014/01/11(土) 21:23:43.53
>>272
画像、音楽、モーション、AI、セリフ諸々のリソース管理したいって事じゃない?
277片山博文MZコスモ ◆T6xkBnTXz7B0 :2014/01/11(土) 21:36:36.86
uniqueにするのも、チェックボックスにチェック入れてボタンを押すだけでできる。
それに多人数での開発でも使える。メリットがこんなにあるのに使わない理由はない
278デフォルトの名無しさん:2014/01/11(土) 21:47:11.30
何でアイテムにセリフが出てくるんだよw
279片山博文MZコスモ ◆T6xkBnTXz7B0 :2014/01/11(土) 21:48:39.93
おカネに余裕あるならMicrosoft Accessでも使えば? 入力補完まで付いてくるよ
280デフォルトの名無しさん:2014/01/11(土) 22:08:00.96
アクセスなんて使うかよ
無能の象徴じゃん
281デフォルトの名無しさん:2014/01/11(土) 22:10:08.88
アクセスはブビ厨御用達の低脳向けツール
282デフォルトの名無しさん:2014/01/11(土) 22:18:23.21
LibreOffice Base
283デフォルトの名無しさん:2014/01/11(土) 22:47:32.32
>>282
それ評判悪いから止めた方がいいよ
http://portable.blog.ocn.ne.jp/t/typecast/552707/273445/38718016
284デフォルトの名無しさん:2014/01/11(土) 23:09:11.37
filemaker
285デフォルトの名無しさん:2014/01/11(土) 23:17:05.43
おいこんな宗教があるらしいぞ
http://gigazine.net/news/20120105-church-of-kopimism-official-religion/

俺たちも何か宗教作ろうぜ!
「free必須教」とか
286デフォルトの名無しさん:2014/01/11(土) 23:20:54.14
すでにGPLという教義にしたがうFSFという新興宗教があってだな
287デフォルトの名無しさん:2014/01/11(土) 23:23:04.14
phpmyadmin
288デフォルトの名無しさん:2014/01/11(土) 23:32:24.51
>>285
free不要なwindowsは邪神かw
289デフォルトの名無しさん:2014/01/11(土) 23:34:39.57
>>287
マルチメディアに未対応
290デフォルトの名無しさん:2014/01/11(土) 23:46:55.27
やっぱりアクセス最強
291デフォルトの名無しさん:2014/01/12(日) 00:03:08.37
free教:
飼い犬の鎖をはずし
ブラのホックをはずし
この世のすべてを解放・無料化する
292デフォルトの名無しさん:2014/01/12(日) 00:27:17.10
たましいを肉体から解放
293デフォルトの名無しさん:2014/01/12(日) 02:17:24.45
このプログラムのおかしいところを教えてください
関数形式マクロでint型とdouble型の差を求めるやつなのですが
コンパイルできません・・・
#include <stdio.h>

#define diff(x,y) ((x>y) ? (x-y) : (y-x))
{
int nx,ny;
double dx,dy;

puts("二つの整数を入力してください。");
printf("整数A:"); scanf("%d",&nx);
printf("整数B:"); scanf("%d",&ny);
printf("その差は%dです。\n",diff(nx,ny));

puts("二つの実数を入力してください。");
printf("整数A:"); scanf("%lf",&dx);
printf("整数B:"); scanf("%lf",&dy);
printf("その差は%fです。\n",diff(dx,dy));

return 0;
}
294デフォルトの名無しさん:2014/01/12(日) 02:20:29.17
0以上の整数を引数として受けとる自作関数を呼び出すときに、引数(変数)の値チェックはどこでやる?
俺は心配性だから呼び出す前と呼び出した後の2回やってるんだが

if (test<0) return -1;
if (TestFunc(test)!=0) return -1;

int TestFunc(int x)
{
if (x<0) return -1;
//処理
return 0;
}
295デフォルトの名無しさん:2014/01/12(日) 02:33:56.32
>>293

#define diff(x,y) ((x>y) ? (x-y) : (y-x))
int main(void)// <- これ
{
296片山博文MZコスモ ◆T6xkBnTXz7B0 :2014/01/12(日) 02:34:55.77
>>293
エラーメッセージを貼れ

>>294
問題なし
297デフォルトの名無しさん:2014/01/12(日) 02:40:28.17
>>295
うわぁ・・・関数形式マクロの練習だったからそればっかりに気を取られてて完全に忘れてました・・・
恥ずかしい・・・
ありがとうございます、無事コンパイルできました
298デフォルトの名無しさん:2014/01/12(日) 02:49:21.98
cなんて使うことないからSQLとPHPでも齧ってろ
299デフォルトの名無しさん:2014/01/12(日) 02:54:28.93
なんかしらんけど
ピェッチピピェッチピ
とダイナマイト四国風に脳内再生された
300デフォルトの名無しさん:2014/01/12(日) 03:00:24.67
cでプログラムを書くぐらい無駄な時間ないぞ
gtkみたいなミドルウェア書けるレベルまで習熟するか、
言語処理系のコミッタになるか、BSDのコードと寝食を共にするかぐらい
Javaかc#かPHPが妥当な選択肢で、Windowsから離れないでc#が最小努力
301デフォルトの名無しさん:2014/01/12(日) 03:09:39.32
>>293
マクロは副作用があるので_Genericを使え。
100歩譲って
#define diff(x,y) (((x)>(y)) ? ((x)-(y)) : ((y)-(x)))
302デフォルトの名無しさん:2014/01/12(日) 03:11:00.72
大抵の言語の実装なんてCで書いてあるんだし
まともにプログラム勉強してる人間でC不要なんて言う奴はあり得ない
実務で使うとかは関係ない
結局どの言語を学ぶにしても、奥深いところではC言語の知識が必要になる
に決まってる
303デフォルトの名無しさん:2014/01/12(日) 03:17:34.75
老人の妄想もここまで来ると哀れだな。
自分たちが世間から要らないゴミと認識されている事実を
どうしても認められないらしい。
304デフォルトの名無しさん:2014/01/12(日) 03:32:11.29
>>303
代替え言語はあるの?
それを提示してくれないことには
どっかの国の大統領と同じだぞ

てか、スレタイ見えてる?
気味悪いよ
305デフォルトの名無しさん:2014/01/12(日) 03:45:55.18
時間が時間だしな
C#の亡霊か何かだろw
306デフォルトの名無しさん:2014/01/12(日) 04:09:33.07
夜な夜な現れてはC言語ユーザーの生き血を求めてさ迷い歩くC#の怨霊。

C言語ユーザーを見つけると

「C#を使え〜」

と呪文を唱えてくる。

捕まるとC#厨にされてしまう。
307デフォルトの名無しさん:2014/01/12(日) 05:17:39.86
という夢を毎晩見るのですが、
どうすればいいのでしょうか?
私は正常です。
308デフォルトの名無しさん:2014/01/12(日) 08:08:24.17
>>306
ひえー…
309デフォルトの名無しさん:2014/01/12(日) 10:49:34.40
>>291
> ブラのホックをはずし

kwsk
310デフォルトの名無しさん:2014/01/12(日) 11:01:28.06
ブラのホックを外したら自動でツイートされるやつあったな
311デフォルトの名無しさん:2014/01/12(日) 11:21:54.41
ブラ: ブラケット {}
ホック: hook
312デフォルトの名無しさん:2014/01/12(日) 13:06:24.94
ダメージ計算の方法を教えてください
ダメージ = ( 攻撃力 - 防御力 ) * 弱点属性倍率
にしようかと思ったのですが、攻撃力と防御力が近いとほとんどダメージ出なかったり
防御力のほうが高いとマイナスダメージになります
また、最後のほうになるとHPも高くなってきて、ダメージも相対的に高くしないとなかなか死なないのですが
攻撃力も防御力も上がる現状だとダメージがほとんど上がりません
313デフォルトの名無しさん:2014/01/12(日) 13:34:09.07
ダメ = 攻撃 * ( 攻撃 / ( 攻撃 + 防御 ) )
314片山博文MZコスモ ◆T6xkBnTXz7B0 :2014/01/12(日) 13:47:41.87
方眼用紙でダメージのグラフを書いてみたら?

float k,m;//係数

int ダメージ計算(int 攻撃力, int 防御力, float 弱点属性倍率) {
int n = (攻撃力-(1.0-弱点属性倍率)*防御力*m)*k;
if (n<0)n=0;
return n
}
315デフォルトの名無しさん:2014/01/12(日) 14:14:38.55
>>304
c#がcの代わりにならないのと同様に、cはc#の代わりになりえない
cが重要だなんていうのは亡霊たちの妄言
cで何かをしたところで幸せにはなれない
316デフォルトの名無しさん:2014/01/12(日) 14:20:39.67
重要かどうかなんてのは俺は知らんが
C#でCの代わりにならないんだから
Cでやるべきところがあるわけだろ
317デフォルトの名無しさん:2014/01/12(日) 14:26:46.60
案件次第だし、ほとんどはc#で済むし、c#の方が幸せになれる
私を信じない人間はプログラミング地獄に堕ちるだけ
318デフォルトの名無しさん:2014/01/12(日) 14:31:32.62
C#で済ませられる案件は全体のほんの一部なのに
それしか出来ない人なんですね?
319デフォルトの名無しさん:2014/01/12(日) 14:33:56.29
釣りだろ?
『まともにプログラム勉強してる人間でC不要なんて言う奴は あ り 得 な い』
『奥深いところではC言語の知識が必要になるに 決 ま っ て る』

常識的な思考を持った人間の発言じゃない。
320デフォルトの名無しさん:2014/01/12(日) 14:36:22.32
この世は
C#で作ったほうが幸せなシステムと
Cでないと作れないシステムと
その2つの区別つかない阿呆とが共存する
そういう世界である
321デフォルトの名無しさん:2014/01/12(日) 14:59:29.97
>>320
システムと人とで分けた方が良いかと
322デフォルトの名無しさん:2014/01/12(日) 15:07:33.40
>>319
自分にcが必要なのかc#が必要なのかすら分かってないんじゃない?
323デフォルトの名無しさん:2014/01/12(日) 15:08:57.96
Cをアセンブラに置き換えてみよう!
『まともにプログラム勉強してる人間でアセンブラ不要なんて言う奴は あ り 得 な い』
『奥深いところではアセンブラの知識が必要になるに 決 ま っ て る』

加齢臭がぷんぷんですね。困ったものです。
324デフォルトの名無しさん:2014/01/12(日) 16:45:40.23
C#使う人って、ハード寄りのことは全然知らない、分からない人なの?
325デフォルトの名無しさん:2014/01/12(日) 17:10:04.90
C#遅いじゃん

まぁそれが遅いと感じない程度の規模のものしか作れない奴には縁のない話か
326デフォルトの名無しさん:2014/01/12(日) 18:42:32.46
そこに規模は関係ないでしょ
327デフォルトの名無しさん:2014/01/12(日) 19:17:15.32
>>314
何でエクセルじゃなくて方眼紙?
328デフォルトの名無しさん:2014/01/12(日) 19:27:32.42
>>323
煽ってるつもりか知らんが、あまりにもみっともないぞ
加齢臭より小便臭さを気にしたほうがいい
329デフォルトの名無しさん:2014/01/12(日) 19:27:36.14
>>323はなぜか突然アセンブラに置き換える話を始めたアスペ
いきなりアセンブラに置き換えて加齢臭が云々とかき違い臭がする
330片山博文MZコスモ ◆T6xkBnTXz7B0 :2014/01/12(日) 19:28:56.78
数学がよくわからないならエクセルもよくわからないと思った。
アナログ的なのがいいかなと
331デフォルトの名無しさん:2014/01/12(日) 19:29:41.19
>>330
煽りに構うなボケ
332デフォルトの名無しさん:2014/01/12(日) 19:30:00.67
>>323はネタで言ってんのに何マジになってんだ。
みんなで色んなものに置き換えてみよう。

『まともにプログラム勉強してる人間で生駒里奈不要なんて言う奴は あ り 得 な い』
『奥深いところでは生駒里奈の知識が必要になるに 決 ま っ て る』
333デフォルトの名無しさん:2014/01/12(日) 19:41:26.43
小学四年生でゲーム作ってるってスゴくない? えっへん!

みたいな
334デフォルトの名無しさん:2014/01/12(日) 19:50:09.10
C/C++で作られたOSの上で
C/C++で作られたデバイスドライバを使ってマウスやキーボードを接続し
C/C++で作られたIDEを使って
C/C++で作られた処理系とライブラリを使って

そこまで揃って初めてC#のコードを書いて動かせるわけだ。
335デフォルトの名無しさん:2014/01/12(日) 19:55:48.41
>>323
お前のIPは52.175.3.142だな
今からハッキングする
336デフォルトの名無しさん:2014/01/12(日) 20:01:11.57
半導体から作れやボケ!
337デフォルトの名無しさん:2014/01/12(日) 20:16:30.74
>>335
127.0.0.1だけど?
338デフォルトの名無しさん:2014/01/12(日) 20:18:37.41
最近、気付いた。プログラミングを勉強するヤツはアホだ
339デフォルトの名無しさん:2014/01/12(日) 20:29:49.24
マジスレすると小学生からプログラミングして中学でアプリ売ってる奴見ると
そいつに対する悪口って「プログラミングよりもっと他の事あるだろ人生もっと
他に目を向けろ」なんだよな、どう考えたって中学でプログラミングできる奴は
得してるわけで、辛うじてネガティブ意見と相殺して目立たなくなってるけど
内心悔しくて仕方ない、何故、俺は中学高校とインターネットしてたくせにプロ
グラミングをしなかったのだと!後悔!!
340デフォルトの名無しさん:2014/01/12(日) 20:31:54.61
グーグル、アップル、フェイスブックの本社勤務プログラマの平均年収は日本円換算で1200〜1300円
使い捨ての日本プログラマと比べて圧倒的な差がある

企業全体の平均年収じゃないからな、プログラマの平均年収だからな
つまりCEOや凄腕営業マンの年収は含まずにこれだけの年収を叩き出す

まぁそういうところで働いてる奴らは罵声の飛び交う匿名掲示板になんか出入りしてないだろうよw
341デフォルトの名無しさん:2014/01/12(日) 20:32:06.38
勉強するアホとしないアホがいる
好きなほうを選べ
342デフォルトの名無しさん:2014/01/12(日) 20:33:43.99
平均年収は日本円換算で1200〜1300円
343デフォルトの名無しさん:2014/01/12(日) 20:34:21.21
>>340
とにかく戻れるなら中学生に戻りたい、野球部なんて入らずに
コン部入ってBASICいじればよかった、で高校でアプリ作って年収500万で
大学も行かなかったろうな
344デフォルトの名無しさん:2014/01/12(日) 20:34:23.83
>>340
日本の方がマシに見える
345デフォルトの名無しさん:2014/01/12(日) 20:34:50.35
>>339
このスレにいてこんなこというのはあれだけど
小学校からプログラミングするよりは真面目に勉強していい大学に入るほうがいいよね
まあ一般論だけどさ
346デフォルトの名無しさん:2014/01/12(日) 20:35:08.07
すまん、万が抜けた
1200〜1300万円
347デフォルトの名無しさん:2014/01/12(日) 20:37:03.24
>>345
プログラマーになるつもりないし、IT企業の営業が一番やりたいことだけど
趣味で大学時代にアプリで稼げるなら、そんな実りある学生時代は無かったよ
大学入って3年、4年になってようやくプログラミングするとか俺人生設計
読めなさすぎなんだよなー、馬鹿だろ?
348デフォルトの名無しさん:2014/01/12(日) 20:37:14.88
>>345
小学生からプログラミングを初めてE欄kkdrぐらいが良いんじゃね?
大学からプログラミング初めても本格的なコードなんて読めねぇよ
349デフォルトの名無しさん:2014/01/12(日) 20:39:54.33
>>348
コードは読めないがアプリは作れるじゃん、1000行ものソースコードを
分析とか全く興味無いけど、アプリ作れるじゃん、凄い事じゃない?
350デフォルトの名無しさん:2014/01/12(日) 20:41:32.28
どちらかと言えばの話だけど、アプリで年500万稼いでる奴より
株で年1000万稼いでる奴のほうが魅力的に見える
351デフォルトの名無しさん:2014/01/12(日) 20:42:05.92
>>349
1000行って何かの冗談?
プログラミングなんて、はじめない方がマシってレベル
352デフォルトの名無しさん:2014/01/12(日) 20:49:40.91
>>350
そういう人ってさ、論理的思考よりも直感とか嗅覚がすごいんじゃない?
353デフォルトの名無しさん:2014/01/12(日) 20:50:46.91
>>349
担当していたプログラム、各ソースが1万行あった
354デフォルトの名無しさん:2014/01/12(日) 20:54:44.71
FOSSのコードを眺めたこともないアホがIT業界へ入る恐ろしさ
355デフォルトの名無しさん:2014/01/12(日) 20:55:20.49
関数型(笑)金融工学(笑)
356デフォルトの名無しさん:2014/01/12(日) 20:58:11.75
>>355
どう考えてみてもcやJavaのコードを書くより
RとかExcel、Accessを扱う方が明らかに楽
357デフォルトの名無しさん:2014/01/12(日) 21:09:30.35
>>355
ファイナンスの分野で関数型が使われてるのは確実でないの?
派生製品の計算が面倒だとか、JaneStreetのOcamlのステマでやってたよ
c/c++、Java、c#やPHPのコードをゴリゴリ書くより楽しそうだし給料よさそう
関数型言語と最適化数学だけ齧って商社マンにでもなる方が、ずっと幸せな人生だと思う
時間を割いてcを学んだり、アンドロイドアプリ作るとか情弱のやることじゃない?
358デフォルトの名無しさん:2014/01/12(日) 21:12:45.16
c言語入門なんて、ダメ絶対
359デフォルトの名無しさん:2014/01/12(日) 21:13:32.61
眺めるだけならいけぬまでもうましかでもできる
360デフォルトの名無しさん:2014/01/12(日) 21:14:50.56
大学からプログラミング初めて本格的なコードが読めないのは、単にそいつがアホだからだろ
361デフォルトの名無しさん:2014/01/12(日) 21:16:42.39
>>359
眺めたことないうましかがIT業界へ参入って、眺めただけのうましかより危険でしょ?
眺めたことないうましかが書くコードの変数名なんて、ちょっと考えたくない
362デフォルトの名無しさん:2014/01/12(日) 21:17:59.20
>>360
その本格的なコードって、何さ?何読むべきなの?
363デフォルトの名無しさん:2014/01/12(日) 21:45:42.43
プログラミング言語ツクール作ろうぜ
364デフォルトの名無しさん:2014/01/12(日) 21:56:35.29
>>362
GNU textutils
Linux
Inkscape
GIMP
Emacs
365デフォルトの名無しさん:2014/01/12(日) 21:58:07.85
俺が考えてるのはブラウザーの中で動く
もう一つのウインドウマネージャー
JavaScriptのコードからvar w = CreateWindow()
見たいにして使える奴
HTML5互換で、独自のJavaScriptパーサー持ってて
UI拡張できる
最初は無料で配ってシェア拡大したらGoogleかMSに
売っぱらう
どう考えてもあいつらより俺たちの方が頭は上だろ
366デフォルトの名無しさん:2014/01/12(日) 21:58:34.63
>>364
んなもん全部ながめたわ
コミットするレベルで理解できなきゃ意味ねーだろ
おまえ、ホントにそれ全部、読んだの?
367デフォルトの名無しさん:2014/01/12(日) 22:00:07.56
>>365
ナニソレ?Dojo toolkit?
368デフォルトの名無しさん:2014/01/12(日) 22:10:51.22
>>365
俺たちってお前と一緒にされても困る。
お前は上かもしれないが俺は知らん。

どちらにしても行動力のある奴が勝つ。
369デフォルトの名無しさん:2014/01/12(日) 22:11:50.97
>>364
初心者にはデカくて、まともに読みきれるサイズじゃないだろ
GNUStepのサイトにおいてあるトイプログラムの方が小粒だし必要な処理かかれてる
今ならgtkみたいに将来さわる可能性があるかないか分からないソースよりは、
Swing製の小さいソフトウェアをしっかり読み込むけど
370デフォルトの名無しさん:2014/01/12(日) 22:38:16.76
関数型言語に最適化数学。c/c++なんて、ダメ絶対。
cでアルゴリズムをガリガリ書いたり、FOSSのコードを読むってのが
無意味かつ虚しい努力だって悟りの体験をしたよ
371デフォルトの名無しさん:2014/01/12(日) 23:02:49.50
じゃあなにをやれっていうのさ
372デフォルトの名無しさん:2014/01/12(日) 23:36:16.80
すいません、二段ジャンプってどうやって実装するんですか?
ジャンプ中にジャンプボタンが効くようにしたら無限段ジャンプできるようになってしまいました。
373デフォルトの名無しさん:2014/01/12(日) 23:37:22.22
フラグ立てればいいんじゃないの
374デフォルトの名無しさん:2014/01/13(月) 00:57:07.47
>>369
で、読み込んだらJNIてっるとかよくあるパターンだよね
真面目な話
Java屋のおばちゃんやらスクリプタのお兄ちゃんでも
Cが書けない人ってまずいないよ
375デフォルトの名無しさん:2014/01/13(月) 01:19:23.46
質問です、ハード屋さん多いから聞いていいですかね
3Dアクセラレーター(グラフィックボード)とGPU(CPUじゃない)の違いって何ですか?
どっちもCPUでは不可能な演算できるって事は分かるんですが、何か細かな違いありますか?
376デフォルトの名無しさん:2014/01/13(月) 01:35:33.69
まず
>3Dアクセラレーター(グラフィックボード)とGPU(CPU
この対比が意味不明でスレ違い
377デフォルトの名無しさん:2014/01/13(月) 01:51:43.39
>>361
いや同じだよ
内容に踏み込んだかどうかが肝心だ

変数名なんか案件ごとに決まりがあるし、
クセを自己主張に使う変なやつは公害でしかない
378デフォルトの名無しさん:2014/01/13(月) 01:53:12.22
サヨクじみてきましたw
自動車も禁止にしたほうがいいね
379デフォルトの名無しさん:2014/01/13(月) 05:22:30.40
>>373
二段階目かどうかのフラグを新たに用意しました。
結構原始的な感じの解決方法しかないのですね。
380デフォルトの名無しさん:2014/01/13(月) 07:02:58.48
原始的な方法すら自分で思いつけなかったことを恥ずかしく思えよw
381デフォルトの名無しさん:2014/01/13(月) 07:43:12.58
オブジェクト指向言語だったら、Stateパターンを使ってフラグとか条件分岐無しでスマートに書けるぞ。
382デフォルトの名無しさん:2014/01/13(月) 07:57:27.33
ゲームなんか作ってどうするのよ
周りのみんなは受験勉強やら自己啓発で資格取得やら親しい友人と親睦深めたりしてるのに
ゲームプログラミングなんかしてても受験、就職、出世、何の評価にも繋がらないぞ
しかも10年も経てば今やってることなんざ時代遅れの何の役にも立たない糞知識と化すの分かってるのに
時間とエネルギーの無駄TOEICの勉強でもしてた方がなんぼかマシ
履歴書に特技ゲームプログラミングとか書くのか世間はキモオタとしか見ないよ残念
383デフォルトの名無しさん:2014/01/13(月) 08:17:56.93
自分ができなかったからって他人の足を引っ張ることに一生懸命にならなくてもいいのにw
384デフォルトの名無しさん:2014/01/13(月) 10:15:59.07
コピペをわざわざ保存してかまって厨アピールご苦労さまです
385デフォルトの名無しさん:2014/01/13(月) 11:01:00.58
>>382
自動化する側と自動化される側のどちらになりたい?
386デフォルトの名無しさん:2014/01/13(月) 11:06:29.42
ソルジャーに自動小銃を付きつけられている士業者
387デフォルトの名無しさん:2014/01/13(月) 11:37:59.60
>>371
swing製の2dCAD最強
388デフォルトの名無しさん:2014/01/13(月) 12:33:23.72
>>387
スレ違い
389デフォルトの名無しさん:2014/01/13(月) 12:53:32.45
コンパイラについて質問です。
forxという変数名があった場合、繰り返しのforとかぶって
エラーが出ると思うのですが、コンパイラはエラーを出さないのは
何故ですか?どういう仕組みなんでしょうか?
コンパイラの作り方が紹介されてるページが殆ど無いため自分ではわかりません。
390デフォルトの名無しさん:2014/01/13(月) 13:01:48.80
単語単位で拾ってるから
ある程度の先読みをしないと複数の候補からひとつを選べないというのは多々ある

それ以上調べる気があるなら 構文解析でぐぐれ
本気でコンパイラ作る気ならドラゴンブック読め
391デフォルトの名無しさん:2014/01/13(月) 13:10:40.65
構文解析って難しいですか?理解に何日かかります?
392デフォルトの名無しさん:2014/01/13(月) 13:19:03.63
ゲーム用の3Dモデラー作ってるんだけど、小数の値がたまにずれる
2進数で管理してるから仕方ないことかもしれないけど何とかずれない方法ない?
393デフォルトの名無しさん:2014/01/13(月) 13:32:01.58
ずれるというのはどういうことだろ?
まさかだけど==で比較して合わないとか?
普通合わないよ。
394デフォルトの名無しさん:2014/01/13(月) 13:38:35.84
>>391
早い人はパラパラめくるだけで全部把握するみたいだよ。
俺はドラゴンブック上巻は三回買ったよ。
何回読んだかわからないくらい読んだよ。
実際に一通り実装して初めてなぜそうしてあるのかわかった感じだったよ。
だから個人差が大きいんじゃない?
二チャンネル平均だと2〜3時間くらいじゃないかな。
俺はその100倍かかった。
スクリプトスレ行くと優秀な人が多いよ。
395デフォルトの名無しさん:2014/01/13(月) 13:45:31.23
>>394
ありがとうございます、200時間ですか.....
俺もっとかかりそうです
396395:2014/01/13(月) 13:51:11.41
>>394
後、シンプルな題名でコンパイラって本があるんですが
コンパイラ(湯浅太一著)、これ知ってますか?
397デフォルトの名無しさん:2014/01/13(月) 13:57:21.90
その本は持ってないです。
俺が持っているのはこれです。

http://www.amazon.co.jp/dp/4627817215/
http://www.amazon.co.jp/dp/4781905854/
398デフォルトの名無しさん:2014/01/13(月) 14:00:11.91
>>397
あー欲しいなー
何でネットはコンパイラの情報が無いんだろう、金無いw
誰か譲ってくれませんか?
399デフォルトの名無しさん:2014/01/13(月) 14:02:14.33
図書館はどうでしょうか。
400デフォルトの名無しさん:2014/01/13(月) 14:04:59.99
>>399
グッドアイディア!!!
401デフォルトの名無しさん:2014/01/13(月) 14:33:52.52
英語でc言語って何て言うんですか?コンピューターランゲージシーとかですか?
402デフォルトの名無しさん:2014/01/13(月) 14:40:24.14
アプリ開発の超初心者の質問です。
アップルアプリを作ろうと思ってます。
Macが無いのでWindowsで作りたいのですがハードル高いですか?
初心者は素直にMac買っといた方がいいですかね?
Macが高いので買うのを渋っています。
よろしくお願いします。
403デフォルトの名無しさん:2014/01/13(月) 16:40:03.85
Androidの方が将来性がある
404デフォルトの名無しさん:2014/01/13(月) 18:06:42.52
ふつうのコンパイラをつくろう、と
オライリーから出てる構文解析の本の方が入門に向いてんじゃね?
405デフォルトの名無しさん:2014/01/13(月) 18:08:29.52
>>403
iPhoneもAndroidも市場が飽和しているんじゃ?
Windows Phoneって市場の方が競合すくないと思うんだけど
406デフォルトの名無しさん:2014/01/13(月) 18:44:03.89
>>401
C
407デフォルトの名無しさん:2014/01/13(月) 19:00:38.42
>>405
iphoneを捨ててまでWindowsPhoneに乗り換える理由が今ひとつ‥‥
408デフォルトの名無しさん:2014/01/13(月) 22:13:59.45
この世の中で最も勝ち組の人間=高等専門学校情報学科卒
異論は認めない
409デフォルトの名無しさん:2014/01/13(月) 22:17:06.33
だけど、二次元のおっぱいを描いてる人たちの方がもっと幸せそうだよね
410デフォルトの名無しさん:2014/01/13(月) 22:17:44.52
配列ってどれくらいまでなら動的にメモリ呼び出さなくてもいいですか?
str[10000]くらいですか?
411デフォルトの名無しさん:2014/01/13(月) 22:25:44.23
コンパイルオプションでスタックサイズをいくつに指定したかによる
412デフォルトの名無しさん:2014/01/13(月) 23:16:47.63
static な配列ならスタックサイズは関係ないのでは?
413デフォルトの名無しさん:2014/01/14(火) 00:00:08.99
>>402
WindowsでiPhoneやMacのアプリは開発できません

>>407
先行者利益
もちろん博打

>>408
男しかいない。はい、論破
414デフォルトの名無しさん:2014/01/14(火) 00:01:57.03
>>410
個人的には255まで
それ以上を静的に確保する奴は童貞
そもそも実行環境のほうで縛りがあるだろ
415デフォルトの名無しさん:2014/01/14(火) 00:06:05.44
static double data[44100]; とかやっちゃ駄目なんですか。
416デフォルトの名無しさん:2014/01/14(火) 00:20:31.39
あきまへん!!!!あきまへん!!!!!!!!







あ き ま へ ん ! ! !
417デフォルトの名無しさん:2014/01/14(火) 00:33:04.28
>>414
256でしょ
その間違いはちと有り得ない
418デフォルトの名無しさん:2014/01/14(火) 00:41:44.02
>>415
問題がなければ(←ここ最重要)自由です
419デフォルトの名無しさん:2014/01/14(火) 00:49:44.68
関数ポインタって何に使うんですか?

int ( *pf )( int );
pf = func;
( *pf )( 5 );

みたいにするなら最初からfunc( 5 );でいいじゃないですか
420デフォルトの名無しさん:2014/01/14(火) 00:52:16.79
>>419
sortの比較関数とか想像すればすぐに理解できるんじゃないかな
421デフォルトの名無しさん:2014/01/14(火) 00:54:22.74
>>419
signalのハンドラ関数とか想像すればすぐに理解できるんじゃないかな
422デフォルトの名無しさん:2014/01/14(火) 00:59:55.80
>>419
関数の配列は作れないけど、関数ポインタの配列なら作れる。
状態遷移テーブル作るとか、色々面白い使い方が出来る。
423デフォルトの名無しさん:2014/01/14(火) 02:05:11.24
>>419
( ・´ー・`)どや
424デフォルトの名無しさん:2014/01/14(火) 02:09:11.13
>>419
ゲーム作るときに使う
ゲームは戦闘中でもマップでも秒間何十回と描画してるんだけど、その度に

if (戦闘のとき){
Battle();
}else if (マップのとき){
Map();
}else if (タイトル画面){
Title();
}

とか条件分岐やってたら無駄だろ?
だからマップとか戦闘とか切り替わったときに

Runに各関数のアドレスを入れて、毎フレーム条件分岐なしで(*Run)()を呼び出すだけにするんだよ
425デフォルトの名無しさん:2014/01/14(火) 02:13:07.76
今時、ゲームをcで書く人たちいたの?
c++でリファレンス使った方が速そう
c#でUnityさわった方が早そう
426デフォルトの名無しさん:2014/01/14(火) 03:01:33.94
あーそーかい

そもそもゲームを「書く」ということが
どれほど特殊なことか知らない
おめでたいやつだな
427デフォルトの名無しさん:2014/01/14(火) 03:59:54.62
>>425
CAPCOMのMT Framework2.0が何言語で書かれてるか知ってて言ってる?
428デフォルトの名無しさん:2014/01/14(火) 08:48:58.46
C言語で素数判定のプログラムを組んでいますが、上手くいきません
ご教授おねがいします
google検索ではint main(void)という関数を良く見るのですが、main()以外の関数をまだ使ったことがないのでこちらで教えて頂けると助かります
429デフォルトの名無しさん:2014/01/14(火) 09:00:45.48
素数判定に使う関数なんて結果表示用のprintfくらいだろ
あと演算子と、素数がどういった数かを調べれば分かる
430デフォルトの名無しさん:2014/01/14(火) 10:33:19.76
>>429
アスペはお帰り
431デフォルトの名無しさん:2014/01/14(火) 10:34:21.54
>>427
そういうマイナーかつレガシーな場面でしか使われてないってことですね
432デフォルトの名無しさん:2014/01/14(火) 10:53:04.13
>>431
何でも好きなの使えばいいよ

問題は 出来 だ
433デフォルトの名無しさん:2014/01/14(火) 11:02:55.67
>>428
関数の作り方じゃろ
そもそも素数判定が目的じゃなくて関数を作るのが目的の課題なんじゃないか
434デフォルトの名無しさん:2014/01/14(火) 11:30:09.56
>>428
素数判定の関数なんてないよ
まず素数が何かを調べたほうが早いんじゃね
435デフォルトの名無しさん:2014/01/14(火) 12:45:23.44
素数は、わたしに勇気を与えてくれる
436デフォルトの名無しさん:2014/01/14(火) 12:55:41.08
○○の風景の絵を描いてみましょうといわれて
必死に写真を探して提出しようとする姿を妄想
437デフォルトの名無しさん:2014/01/14(火) 13:28:04.95
438デフォルトの名無しさん:2014/01/14(火) 14:27:34.86
カプコンが何を使おうと俺が最強になることとは何の関係もないからどうでもいい
439デフォルトの名無しさん:2014/01/14(火) 17:37:00.27
前も書き込みした記憶あるけどvisual studioってタダで使えて凄い助かるんだけど
企業にとってメリットってあるのかな?開発環境を提供→プログラム開発が盛んになり
ライバル増える事にならない?
440デフォルトの名無しさん:2014/01/14(火) 17:39:21.31
学生さんに自分とこの製品で勉強して貰えることに大きなメリットがある
学生さんに限らず、転職を考えている人もそう

本職で他社製品を使っている人に、鞍替えをそそのかすこともできるし
441デフォルトの名無しさん:2014/01/14(火) 17:47:23.07
>>439
コンパイラもIDEもタダで手に入る時代だから、
評価版ぐらいタダで配らないと誰も使わない
442デフォルトの名無しさん:2014/01/14(火) 17:59:58.38
開発ツールのベンダにとって有名になることは死活問題だからな
勢力分布には正のフィードバックがかかるから、些細なことが命運を分けるほどの問題になる
443デフォルトの名無しさん:2014/01/14(火) 18:08:16.10
visual studio, delphi, eclipse, netbeans, InteliJ
ぐらいしか選択肢ないだろ.
444デフォルトの名無しさん:2014/01/14(火) 18:16:12.95
>>442
些細な事って何?
445デフォルトの名無しさん:2014/01/14(火) 19:52:57.46
>>444
おまえさ、ぼけるなら自分も何か投下しろよな
色んなことのタイミングや、規格対応のうち無くても別に困らない機能だとか、色々あるやん
446デフォルトの名無しさん:2014/01/14(火) 19:58:27.53
>>445
お前のレスが一番抽象的でわけがわからん
447デフォルトの名無しさん:2014/01/14(火) 20:10:45.09
             ,.,.,.,.,.,.,.,.,__
           ,,;f::::::::::::::::::::::ヽ
           i::::::::/'" ̄ ̄ヾi
           |:::::::| ,,,,,_  ,,,,,,|
           |r-==( 。);( 。)
           ( ヽ  :::__)..:: }
        ,____/ヽ  ー== ;  ほほう それでそれで?
     r'"ヽ   t、   \___ !
    / 、、i    ヽ__,,/
    / ヽノ  j ,   j |ヽ
    |⌒`'、__ / /   /r  |
    {     ̄''ー-、,,_,ヘ^ |
    ゝ-,,,_____)--、j
    /  \__       /
    |      "'ー‐‐---''
448デフォルトの名無しさん:2014/01/14(火) 20:35:30.31
ベンダにとっちゃ有名になっちゃダメってこと?
開発ツールを広めたいけど、広めすぎてもダメってことか?
よくわからん
449デフォルトの名無しさん:2014/01/14(火) 21:34:36.11
MSはOS売ってるんだから、OSを使って貰うには沢山ソフトが出ている必要が有るからね。

開発ツールを提供せず、自前のソフトしか無いOSなんて誰も使わないし、
逆に使いやすい開発ツールを提供して沢山作って貰えば、それだけOSも売れるし、
自前のソフトもその分売れるから。
450デフォルトの名無しさん:2014/01/14(火) 21:41:05.82
#include <stdio.h> /* >>419 two3.c */
typedef int (*INT_FUNCTION)(int, int);
int x_function(int a, int b){
    int x = a * b;
    return x;
}
int sum_function(int a, int b){
    int sum = a + b;
    return sum;
}
void two_three(INT_FUNCTION p){
    printf("answer = %d\n", p(2, 3) );
}
int main(int argc, char *argv[]){
    INT_FUNCTION p;
    if(argc == 2 && *argv[1] == 'x') {
        p = x_function;
    } else {
        p = sum_function;
    }
    two_three(p);
    return 0;
}
/*
C:\work>two3
answer = 5

C:\work>two3 x
answer = 6
*/
451デフォルトの名無しさん:2014/01/14(火) 21:44:30.37
>>450
それで説明したつもりか
コンパイル時には未定で実行時に決められる
と言いたかったのだろうが
ヒントにもならなかっただろうなごくろう
452デフォルトの名無しさん:2014/01/14(火) 22:57:30.98
C言語でフレームワークを作ろう!
453デフォルトの名無しさん:2014/01/14(火) 23:12:41.11
>>452 何の?
454デフォルトの名無しさん:2014/01/14(火) 23:29:35.07
railsみたいなWebフレームワーク
455デフォルトの名無しさん:2014/01/14(火) 23:31:43.50
webtoolkit2ch.js
456デフォルトの名無しさん:2014/01/14(火) 23:32:09.42
>>454 無理。絶対Ruby,js,C++に勝てない
457デフォルトの名無しさん:2014/01/14(火) 23:32:20.59
>>456
意味不明
458デフォルトの名無しさん:2014/01/14(火) 23:33:52.65
Cで書いてもあんまり良い事はないんじゃないの?
rubyのサブセットを再実装するような作業だと思うよ。
459デフォルトの名無しさん:2014/01/14(火) 23:34:50.74
>>456
railsがWebアプリケーションに必要な要素を洗い出したんだから、
俺以外の誰かが本気だせばRailsライクなc製のWebフレームワークぐらい出てきそう
460デフォルトの名無しさん:2014/01/14(火) 23:36:12.10
>>458
どこが?
Cの膨大なライブラリを使い放題だから意味あるだろーが
それにCしか使えない場所でも使える。AndroidはJavaかCで開発できる
Rubyは使えない
461デフォルトの名無しさん:2014/01/14(火) 23:36:56.53
>>458
文法が簡潔。そして、速い。
PHPを使わなくて済む。
組込み技術者をWebに使える。
462デフォルトの名無しさん:2014/01/14(火) 23:44:05.98
>>460
>Cの膨大なライブラリ
体系的にまとまったものでもあるのですかね?
463デフォルトの名無しさん:2014/01/14(火) 23:44:20.03
解放が自動化できない、コンパイルが必要な点で負け戦
464デフォルトの名無しさん:2014/01/14(火) 23:45:52.46
>>461
どうでもいいmalloc()/free()に気をとられてしまうCで文字列操作とか、何かの罰ゲームですか?
465デフォルトの名無しさん:2014/01/14(火) 23:47:22.13
「ガベコレがない言語なんてヤダ!」

もはやWebフレームワークとまったく無関係なゆとり自慢になってワロタ
466デフォルトの名無しさん:2014/01/14(火) 23:48:26.45
>>463
スマートポインタかGCみたいな仕組みをフレームワークに導入したら良い
修正は一部のファイルだけだから、そんなに時間かからないと嬉しいな
467デフォルトの名無しさん:2014/01/14(火) 23:53:57.02
>>466
何でC++やDを使わないのか
468デフォルトの名無しさん:2014/01/14(火) 23:54:50.54
そこで Boehm GCですよ、と
469デフォルトの名無しさん:2014/01/14(火) 23:55:29.13
>>467
複雑だし、ちょくちょく変更される
470デフォルトの名無しさん:2014/01/14(火) 23:56:17.68
何言ってるんだこの人
471デフォルトの名無しさん:2014/01/14(火) 23:58:14.42
>>467
CでできることをあえてC++/Dでやる必要がない
472デフォルトの名無しさん:2014/01/14(火) 23:58:30.02
Perlで、Rubyで、Pythonで、PHPで、
こう書けなんていったベストプラクティスからの開放運動
473デフォルトの名無しさん:2014/01/15(水) 00:14:39.01
>>443
Delphiが自ら脱落したからVSとEclipse系しかない
結局、この2社が四半世紀以上に渡って業界を支配してるんだよな
Googleもがんばってるけど、決定打がでない
474デフォルトの名無しさん:2014/01/15(水) 00:16:57.02
>>449
Officeで稼いだ金でVSを強化
VSの強みでOSを普及
OSの普及度でOfficeを拡販

無限ループって怖いよね
475デフォルトの名無しさん:2014/01/15(水) 00:19:49.53
>>458
apacheとrailsが一体となった新世代の特化型サーバだよ
Cの速度とrailsの利便性が1つになって
速度と開発効率の両方で競争力を持つ

いつまでもapacheの支配下に甘んじている必要があるだろうか?
476デフォルトの名無しさん:2014/01/15(水) 00:26:43.94
railsの利便性ってのはrubyみたいな動的な言語によるところが多いと思うんだけど、
それをCで再現しようとすれば、結局rubyがやってるような事をやる必要があって、
ガチガチに書いた融通の利かないものと比べたら速度はずっと落ちるんではないのかしら。
477デフォルトの名無しさん:2014/01/15(水) 00:27:13.39
まず書いて晒せば
478デフォルトの名無しさん:2014/01/15(水) 00:27:33.64
>>471
C++ でできることを C で書くとか、やっぱりなんかの罰ゲームに違いない‥
479デフォルトの名無しさん:2014/01/15(水) 01:12:48.73
あぁこれは需要がないなっての決め打ちで好き勝手やればいいけど
おっなかなかいいんじゃない?となればCで書くよね
で、他の言語でラップする
これはCも例外ではなくお好きなように各種ラッパーが書こうとするだろうけど
いかんせん言語仕様上の制限がありマクロベースで臭くなる
480デフォルトの名無しさん:2014/01/15(水) 01:45:31.03
ネットワークプログラミングでゲームをつくろうとしています
ソケットに色々なデータを詰め込んだ構造体をそのまま渡したいのですがどうすればいいのでしょうか
481デフォルトの名無しさん:2014/01/15(水) 01:47:28.13
>>479
>おっなかなかいいんじゃない?となればCで書くよね
いいんじゃない?て思えばC++でかくね
482デフォルトの名無しさん:2014/01/15(水) 01:48:33.81
483デフォルトの名無しさん:2014/01/15(水) 01:48:36.69
シリアライズすればいい
484デフォルトの名無しさん:2014/01/15(水) 01:49:51.24
>>481
extern "C"
だろどうせ
485デフォルトの名無しさん:2014/01/15(水) 01:50:35.99
>>482
http://atamoco.boy.jp/cpp/unix/network/udp.php
ここを参考にしているのですが、文字列はうまくいくのですが
どうも同じ要領で構造体等を入れるとエラーが発生するのです
486デフォルトの名無しさん:2014/01/15(水) 01:57:27.88
アライメントにビット環境やエンディアンなんかの問題もあるでしょうね
そこでシリアライズです
487デフォルトの名無しさん:2014/01/15(水) 01:58:19.45
>>484
いやいや new(nothrow) なんだ、例外の実装をいまいち理解していないからね、setjmp/longjmp らしいんだけど
488デフォルトの名無しさん:2014/01/15(水) 01:59:02.98
エラーが発生するのです!(ババーン)
489デフォルトの名無しさん:2014/01/15(水) 01:59:32.04
>>486
ありがとうございます。調べてみます。
490デフォルトの名無しさん:2014/01/15(水) 02:04:05.32
>>487
はなしにならん
491デフォルトの名無しさん:2014/01/15(水) 02:44:16.40
ゲームつっても色々あるだろ

例えばコンソールの数当てゲームをCではなくC++で書くメリットあんの?
492デフォルトの名無しさん:2014/01/15(水) 03:45:53.52
C++でクラスとして作成すれば、数当てゲームをオブジェクトとして扱うことができるようになる。
これにより、何かのときに再利用(RPG中のミニゲームに使う等)することが可能となる。
493デフォルトの名無しさん:2014/01/15(水) 03:49:27.08
後からGUIにしたくなった時とか?あと他言語での再利用性
494デフォルトの名無しさん:2014/01/15(水) 03:54:33.96
クラスにしなくても専用の構造体と関数をライブラリにすればすむだろ池沼
495デフォルトの名無しさん:2014/01/15(水) 06:42:36.23
>>490
http://www.textdrop.net/google-styleguide-ja/cppguide.xml
>C++の例外を使ってはいけません。
496デフォルトの名無しさん:2014/01/15(水) 08:12:57.85
>>495
> もしクラス型のスタティック変数やグローバル変数が必要であれば、main() 関数か
> pthread_once() 関数で(決して free されない)ポインタを初期化することを検討してください。

free必須教の信者はgoogle使わないように
497デフォルトの名無しさん:2014/01/15(水) 08:26:08.24
>496
却下
プログラムで割り当てたヒープメモリーは全て
プログラム内で明示的に開放しなくてはなりません
これは、ヒープトラッキングツールを使用して、メモリーリークが
存在しないことを確認するのが常識ですが、解放されないメモリー
の存在を肯定することによってそれが見えないか(見えにくく)なって
しまうからです。

上記が2chの標準コーディング規約になります
498デフォルトの名無しさん:2014/01/15(水) 08:28:15.42
>>497
お前はgoogle使うなよ
499デフォルトの名無しさん:2014/01/15(水) 09:06:28.66
>>496
危ない危ない・・・教えてくれてありがと
今後googleの開発には参加しないことにするわ
500デフォルトの名無しさん:2014/01/15(水) 09:38:19.68
んじゃ、狂信者はputenv使わないのか?
まさか、全部staticで用意するとか
それとも、わざわざ記録しといてfreeするのか? 大変だな w
501デフォルトの名無しさん:2014/01/15(水) 09:50:02.23
putenvって何?
502デフォルトの名無しさん:2014/01/15(水) 09:54:19.40
GoogleとかMSに手取り足とり教えてもらわなきゃ
何も書けない奴は言う通りにしたらええ
503デフォルトの名無しさん:2014/01/15(水) 09:56:58.97
putenvはどうすんだよ
504デフォルトの名無しさん:2014/01/15(水) 12:51:39.31
mallocしたものをfreeするぐらい息をするのと同じぐらい簡単だろう
こんなことも出来ない奴はC使わないほうがいい、には同意だけど
505デフォルトの名無しさん:2014/01/15(水) 13:18:48.50
sprintfでファイルを読み込もうとしているのですが、
data1.txt、data2.txt、data3.txt
ではなく、
data21.txt、data44.txt、data111.txt
など不連続の場合はどうしたらいいでしょうか?
***.txtなど拡張子のみ指定して読み込む方法はありますか?
ちなみに中身はただの数値データ群です。
506デフォルトの名無しさん:2014/01/15(水) 13:27:22.13
>>505
MS系ならfindfirstとかunix系ならopendirとか、存在するファイルをリストアップする関数がある。
507デフォルトの名無しさん:2014/01/15(水) 13:30:39.68
>>504
100行前後の宿題ならね

>>505
正規表現ライブラリでググる
ナンバーだけ空けといて、ファイルが存在がしたら読み込む
508デフォルトの名無しさん:2014/01/15(水) 13:36:07.51
for(i=0; i<100; i++){
char filename[64];
sprintf("%s%d.txt",filename,i);
FILE *fp = fopen(filename,"r");
if(fp){
// 適当な処理
}
fclose(fp);
}
509505:2014/01/15(水) 13:41:52.48
返信ありがとうございます。
今からやってみます
510デフォルトの名無しさん:2014/01/15(水) 13:51:49.01
質問お願いします
なんでcharポインタは
deleteで解放しなくても良いの?
511デフォルトの名無しさん:2014/01/15(水) 13:58:04.82
Cにdeleteなんてないよ
512デフォルトの名無しさん:2014/01/15(水) 14:00:21.45
>>510
const char*はコンパイル時に、たしかBSS領域とか仰々しい場所に置かれるから
関数内のchar[]は、関数スタックに置かれるので関数を出たと同時に開放されるから
513デフォルトの名無しさん:2014/01/15(水) 14:04:05.39
で、mallocはコンパイル後、ヒープ領域へ動的にメモリを確保するから
ヒープ領域に確保したメモリをfreeで開放しわすれる
514デフォルトの名無しさん:2014/01/15(水) 14:14:04.55
エスパーすげー
515デフォルトの名無しさん:2014/01/15(水) 14:15:21.82
絶対freeしなきゃいけないって、まぁ最初のころはそう思い込むもんだよ。
516デフォルトの名無しさん:2014/01/15(水) 14:16:49.60
>>514
cプログラマを目指したぺちぱーとかなら常識な話
517デフォルトの名無しさん:2014/01/15(水) 14:18:33.56
charポインタは、auto変数。
整数型、文字型、浮動小数点型も、auto変数。
518デフォルトの名無しさん:2014/01/15(水) 14:25:32.35
>>512
んなわけねーだろ
static じゃないし delete だか free だかが翻訳時に解決できるわけがない
519デフォルトの名無しさん:2014/01/15(水) 14:30:57.11
>>518

void f() {
char c[100];
}
↑こういうやつでしょ?
関数に入るタイミングでスタックフレームが作られて、抜けるタイミングでもとにもどされるって理解でいいんじゃないの。
520デフォルトの名無しさん:2014/01/15(水) 14:34:55.37
>>518
delete,freeがヒープ領域で確保したメモリを開放してんだよ
ろくな入門書を読んでないだろ。いや、ろくに入門書も読んでないだろ
521デフォルトの名無しさん:2014/01/15(水) 14:44:26.42
>>512は文字列リテラルで確保された部分のことを言ってんだろうな
522デフォルトの名無しさん:2014/01/15(水) 14:49:15.94
>>521
>>510のchar *って、mallocで確保した領域のことだったの?
523デフォルトの名無しさん:2014/01/15(水) 14:55:08.60
charポインタの指す先が動的確保されたメモリであるなら解放した方がいいし
そうじゃないなら解放する必要はないし解放できないし
524デフォルトの名無しさん:2014/01/15(水) 15:00:55.00
>>522
知らんがな(´・ω・`)
525デフォルトの名無しさん:2014/01/15(水) 15:03:21.58
free不要などというバッドノウハウを吹聴して回るかまって厨がこの付近で目撃されたという報告があります
市民の皆様は関わらず放置してください
526デフォルトの名無しさん:2014/01/15(水) 15:04:32.57
ろくに入門書を読んでないのがc++は簡単とかいって
c++初心者によくあるバグを徹夜でデバッグし、最後にはPHPが大好きになる。
誰か、この現象の名前を知らないでしょうか?
527デフォルトの名無しさん:2014/01/15(水) 15:09:01.64
>>518
コンパイルされたプログラムのメモリ配置から理解しなおせ
528デフォルトの名無しさん:2014/01/15(水) 15:11:19.93
たぶん>>518はポインタと配列の違いを説明できない
529デフォルトの名無しさん:2014/01/15(水) 15:22:16.17
ポインタと配列の区別がつかない奴は議論にならないだろ。
530デフォルトの名無しさん:2014/01/15(水) 15:46:34.34
>>525
putenvどうすんだよ
逃げんなよ
531デフォルトの名無しさん:2014/01/15(水) 16:18:44.00
setenv使えよ馬鹿
532デフォルトの名無しさん:2014/01/15(水) 16:22:37.70
設定する文字列がどこに保存されるか
同じ事だ馬鹿
533デフォルトの名無しさん:2014/01/15(水) 16:27:12.25
100円のワインと、すごく高いワインの違いが分からない人って居るよね。
その道の素人なら趣味として楽しめるんだから、君もその道の素人のままで居た方が幸せだよ
534デフォルトの名無しさん:2014/01/15(水) 17:21:49.49
>>526
526現象
535デフォルトの名無しさん:2014/01/15(水) 17:43:27.16
>>519
void f() {
const char* c;
}
↑これがBSSなわけねーだろ
536デフォルトの名無しさん:2014/01/15(水) 18:07:13.32
>532
論点ずらしを始めたバカ
537デフォルトの名無しさん:2014/01/15(水) 18:13:12.34
>>536
ばかはテメーだ
setenvは内部でmallocするが、それを解放するインターフェイスは無い
すなわち、setenv使えばテメーらが言うところのメモリリーク()が発生する
538デフォルトの名無しさん:2014/01/15(水) 18:17:27.01
>>535
ああ、そうだね。すごいね。
539デフォルトの名無しさん:2014/01/15(水) 18:20:17.93
const char*が文字列リテラル以外を参照するような例って?
540デフォルトの名無しさん:2014/01/15(水) 18:28:32.54
>>539
引数
541デフォルトの名無しさん:2014/01/15(水) 18:50:55.90
C言語で最強のゲームフレームワーク作ろうぜ!
542デフォルトの名無しさん:2014/01/15(水) 18:53:01.30
フレームワークよりもそれを活用した最強のデモアプリの方が重要
543デフォルトの名無しさん:2014/01/15(水) 18:59:46.23
ゲーム業界に入りたいならデモアプリ
けれど、ゲームエンジンを作る方が潰し効きそう
544 ◆QZaw55cn4c :2014/01/15(水) 19:32:38.17
strdup() とかね
545デフォルトの名無しさん:2014/01/15(水) 19:35:18.00
>>539
char *を代入出来るんだからなんだってありだろ
546デフォルトの名無しさん:2014/01/15(水) 21:31:41.47
ゲームのフレームワークってどんなの?
くけいの当たり判定してくれるとか?
547デフォルトの名無しさん:2014/01/15(水) 21:51:21.75
最近電車乗ってたら皆スマホいじってるのな
高校生なんて8割型いじってる
日本人全員がプログラミングできるようになったらどうしよう...
548デフォルトの名無しさん:2014/01/15(水) 21:53:31.50
プログラミングが普及しても実務ノウハウってのは普及しないんじゃないかと
思う、どうだろう?開発概念とかさ
549デフォルトの名無しさん:2014/01/15(水) 21:56:56.10
めちゃくちゃ初心者ですいません。
easyidecで勉強しているのですが下記のプログラム入力後いざ実行し、1つ目の数値を入力してエンター押すと、
0014.exeは動作を停止しましたと出てしまう。

たすけてください
550デフォルトの名無しさん:2014/01/15(水) 21:59:39.78
#include <stdio.h>

int main(void)
{
int vx, vy;

puts("2つの整数を入力してください。");
printf("整数vx:"); scanf("%d", vx);
printf("整数vy:"); scanf("%d", vy);

printf("vx+vy=%d\n", vx+vy);
printf("vxーvy=%d\n", vx-vy);
printf("vx*vy=%d\n", vx*vy);
printf("vx/vy=%d\n", vx/vy);
printf("vx%%vy=%d\n", vx%vy);

return 0;
}
551デフォルトの名無しさん:2014/01/15(水) 22:03:51.83
scanf("%d", &vx);
scanf("%d", &vx);

;
552デフォルトの名無しさん:2014/01/15(水) 22:06:55.41
ゼロ除算回避もやっときな
553デフォルトの名無しさん:2014/01/15(水) 22:07:16.17
環境 win7
コンパイラ bcc32

argv[0]には自分のプログラム名がフルパスで
格納されますよね
d:\dddd\gggg\hhhh\hogehoge.exe
↑みたいに。
それで最後の\マークの位置を知りたいと思って
char *ret;
ret = strrchr(argv[0],'\\');
if ( ret != NULL){
printf("\\ の位置は%d\n",ret - argv[0]+1);
return -1;
}
としたんですが、表示されません。エスケープ関係なんだろう?と思って
るんですが、どうすれば検索対象に出来ますか?
554デフォルトの名無しさん:2014/01/15(水) 22:07:57.26
>551
すごく初歩的すぎるミスでした。
すいません、ありがとうございました。
555デフォルトの名無しさん:2014/01/15(水) 23:01:19.02
>>553
うざい
hoge厨は消えろ
556デフォルトの名無しさん:2014/01/15(水) 23:21:37.63
>>553
argv[0] の中に検索対象が存在するか確かめた?
557デフォルトの名無しさん:2014/01/15(水) 23:31:09.67
>>553
ファイル名やフォルダ名に漢字使ってる?
558デフォルトの名無しさん:2014/01/15(水) 23:46:47.72
c:\ドキュソ.exe
559デフォルトの名無しさん:2014/01/15(水) 23:47:28.23
>>555
hogehogeが気に喰わないのなら
f:\tinko\manko.exe
にでも置き換えてください

>>556
直前に
printf("argv[0]:%s\n",argv[0]);
で入っているのは確認しています。

>>557
ファイル(プログラム)名には使ってないけどフォルダは、、日本語名があったりしますね

ドットの位置(555の例で言うなら、hogehoge.exe のexeの直前のドット)については
ret = strrchr(argv[0],'.');
で出来たんですが
560デフォルトの名無しさん:2014/01/15(水) 23:51:08.33
>日本語名があったりしますね
だったら何故、まず日本語無しでも再現するか
試そうとしないんだろうか
やっぱりhoge使いって馬鹿なの?
561デフォルトの名無しさん:2014/01/15(水) 23:57:44.58
>>560
書いてないだけで試してますよ。ドライブのルートに持って行って
実行してます

んで再現しないから書いてんですけど。
562デフォルトの名無しさん:2014/01/15(水) 23:59:46.89
hoge使いは二つ前の自分のレスも覚えてないほど能力が低いのですか?
563561:2014/01/15(水) 23:59:56.33
あ、間違い
×再現しないから
○やっぱり出てこないから
564デフォルトの名無しさん:2014/01/16(木) 00:22:17.71
>>559がキチガイでワラタw
本当に生きてる価値のない奴っているんだなw
565デフォルトの名無しさん:2014/01/16(木) 00:22:57.47
>>561
まずはこんぐらい削って再現するソース持ってこい
http://ideone.com/pItYpe
566デフォルトの名無しさん:2014/01/16(木) 00:30:36.03
持ってこなくていいからさっさと回線切ってプロバイダ解約しろよ。
567デフォルトの名無しさん:2014/01/16(木) 00:33:16.50
>>561
お前最初から他人に頼る前提で事を始めるとか
精神構造に異常でもあるんじゃね

リアルでお前の相手させられてる奴同情するわ
最近は無視しただけでもいじめだの何だの言われるから
お前みたいな異常者でも当たり障りのない対応をしなきゃならないんだよ
迷惑だから家から出るな
568デフォルトの名無しさん:2014/01/16(木) 00:35:29.10
d:\dddd\gggg\hhhh\hogehoge.exe
 ↓
hoge厨は消えろ
 ↓
hogehogeが気に喰わないのならmankoにでも置き換えてください

類似例
 A「いってーなコラ」
 >>559「あ、お構いなく」
569デフォルトの名無しさん:2014/01/16(木) 00:35:48.70
気に入らないなら触らなければすむ話なのに
570デフォルトの名無しさん:2014/01/16(木) 00:39:51.92
>>561
ノイズは無視していいよ
571デフォルトの名無しさん:2014/01/16(木) 00:39:53.97
レストランでウンコウンコ叫んでる奴がいて、つまみ出してくれと言う客に「気に入らないなら触らなければすむ話なのに」と言う基地害。
どういう環境で育ったらここまで歪むんだろう。
572デフォルトの名無しさん:2014/01/16(木) 00:41:53.45
>>570
>>561は言われなくてもそのつもりだよ
自分はスルーできるからそれでスレが荒れようが
スレを見た人が嫌な気分になろうがお構い無し
自己中の典型>>561
573デフォルトの名無しさん:2014/01/16(木) 00:43:30.20
>>571
客同士の問題ではなく
客と店との問題だね
574デフォルトの名無しさん:2014/01/16(木) 00:45:04.92
>それでスレが荒れようが
>スレを見た人が嫌な気分になろうがお構い無し

これは違うだろ。
お構いなしではなくそれが>>561の目的。
575デフォルトの名無しさん:2014/01/16(木) 00:49:01.53
レストランでウンコ連呼してるのがどっちもである点には気が付けないのか。。
576デフォルトの名無しさん:2014/01/16(木) 00:50:50.61
>>561
現象が発生する最小限のコードが提示されない以上、釣りでいいかい?
577デフォルトの名無しさん:2014/01/16(木) 00:50:55.32
違うだろ
ウンコを連呼してる人と
何だ貴様は、と感情的になってる人
578デフォルトの名無しさん:2014/01/16(木) 00:54:50.85
それを同類と言うね。世間では。
579デフォルトの名無しさん:2014/01/16(木) 00:58:34.95
>>576
ゴミの相手はLINEでも交換して個人的にやれ
580デフォルトの名無しさん:2014/01/16(木) 01:09:21.74
よくわからないな

・フォルダ名に日本語が入っていたら現象が発生した
・ルートに移動したら再現しなかった

ってこと?argv[0] の中身ってフルパスとは限らないんじゃ?
581デフォルトの名無しさん:2014/01/16(木) 01:11:02.73
>>580の知能レベルでは難しいかもな
582デフォルトの名無しさん:2014/01/16(木) 01:12:58.14
>・ルートに移動したら再現しなかった
直後に訂正してるだろ

>argv[0] の中身ってフルパスとは限らないんじゃ?
規格はそうだがWindows環境であることを最初に断ってるだろ
583デフォルトの名無しさん:2014/01/16(木) 01:15:45.51
>>580
分からないなら黙ってれば?
自己顕示欲の塊気持ち悪い
584デフォルトの名無しさん:2014/01/16(木) 01:16:56.07
全然流れ読めてなかったですねごめんなさい
585デフォルトの名無しさん:2014/01/16(木) 01:18:07.97
いつも読めてない低知能が今日はたまたま指摘してもらえただけ、お前迷惑だよ、二度と書き込むな。
586デフォルトの名無しさん:2014/01/16(木) 01:18:47.31
>>583=585
ちょっと君、黙ってなさい
もうすぐで最小限のコードが出てくるから
587デフォルトの名無しさん:2014/01/16(木) 01:18:49.21
いやそこまで一般化するのはどうかと
588デフォルトの名無しさん:2014/01/16(木) 01:20:11.82
書き込むなよ!絶対に書き込むなよ!
589デフォルトの名無しさん:2014/01/16(木) 01:22:24.75
他人に頼る前提でプログラムを始めた>>553

養護学校通ってたのかね
養護学校なら当たり前のように頼っていいからね
590デフォルトの名無しさん:2014/01/16(木) 01:23:53.10
>>559
普通に動いたんだけど、実行ファイルはターミナルから実行してる?
それとも何かしらのファイルを引数に渡して実行してる?
591デフォルトの名無しさん:2014/01/16(木) 01:24:39.92
狙い通り荒らせて>>559もパソコンの前で大笑いだろう。
こうやって荒らせば>>559と一部のスルー力()のある人間以外は寄り付かなくなるからな。
さらに燃料投下くるか見物だ。
592デフォルトの名無しさん:2014/01/16(木) 01:25:52.67
>>590
ゴミクズの相手はよそでやってね^^
593デフォルトの名無しさん:2014/01/16(木) 01:27:47.98
>>590
普段誰にも相手にされないからって基地害に媚び売ってると同情されるぞ
594デフォルトの名無しさん:2014/01/16(木) 01:29:52.21
>>691-693
いいから出てけよ
595デフォルトの名無しさん:2014/01/16(木) 01:41:18.12
>>591
解答できないなら荒らすな チョーセン人
596デフォルトの名無しさん:2014/01/16(木) 01:45:21.18
ここでついにQが登場
そして「553は釣りでした」とドヤ顔のパターン
597デフォルトの名無しさん:2014/01/16(木) 01:45:44.13
>>691-693に期待
598デフォルトの名無しさん:2014/01/16(木) 01:58:31.35
>>593
590には同情っつーよりただただ迷惑。
599デフォルトの名無しさん:2014/01/16(木) 02:42:05.29
>>582
Windowsでもフルパスとは限らないんじゃないの?
600デフォルトの名無しさん:2014/01/16(木) 02:53:09.02
>>599
情報ソースも書かないクズは書き込んじゃいけないんじゃないの?
601デフォルトの名無しさん:2014/01/16(木) 02:57:39.65
狙い通り荒らせて>>559もパソコンの前で大笑いだろう。
こうやって荒らせば>>559と一部のスルー力()のある人間以外は寄り付かなくなるからな。
さらに燃料投下くるか見物だ。
602デフォルトの名無しさん:2014/01/16(木) 03:03:32.40
繊細すぎるんだよな
603デフォルトの名無しさん:2014/01/16(木) 03:06:35.89
荒らすなチョーセン人
604デフォルトの名無しさん:2014/01/16(木) 03:09:41.23
ここもage荒らしの韓国人にターゲットにされたか
605デフォルトの名無しさん:2014/01/16(木) 03:16:48.76
ウリジナルなhoge禁止ルールで荒らしときながら、本当に図々しい生き物だな。チョーセン人というのは
606デフォルトの名無しさん:2014/01/16(木) 03:22:49.85
このage荒らしはコリアンだとバレてからなりふり構わず荒らすようになったなw
さすがはコリアンw
607デフォルトの名無しさん:2014/01/16(木) 03:41:00.27
でていけよ、チョーセン人
608デフォルトの名無しさん:2014/01/16(木) 04:31:26.56
ここでも大量のあぼーんが入るようになったな。
どうせ例の韓国系二世だろ。
スレが上がってるし。
609デフォルトの名無しさん:2014/01/16(木) 07:46:39.67
ここまで再現コード無し
もうしばらくお待ち下さい
610デフォルトの名無しさん:2014/01/16(木) 09:26:13.16
転職活動の入社試験で自動確保について説明しなさいって出たんだが
自動確保っていう用語は一般的なのか?
俺の知らない概念だと思ってしまって適当なこと書いちゃったんだけど、
これって自動変数(ローカル変数)のことなんだよな?
611デフォルトの名無しさん:2014/01/16(木) 09:32:34.62
想定する解答と違っても、間違っていなければ問題ない。
知らないことを知ってるふりするのがまずい。
612デフォルトの名無しさん:2014/01/16(木) 09:43:10.40
・用語のすり合わせをします。間違ってたらごめんなさい。
みたいに一言添えておけば評価が上がるかも知れん。

問題作成者が逆切れするリスクもほんの少しあるw
613デフォルトの名無しさん:2014/01/16(木) 09:49:04.58
造語野郎くたばれ
が正解
614デフォルトの名無しさん:2014/01/16(木) 10:20:46.77
>>600
コマンドラインから実行してみればわかるよ。
逆にかならずフルパスで入ってるってソースはどこにあんの?

http://msdn.microsoft.com/ja-jp/library/88w63h9k.aspx
615デフォルトの名無しさん:2014/01/16(木) 10:31:56.24
>>614
コマンドラインの分解はアプリ(のスタートアップ)がおこなう
bccと言ってるのでMSの処理系のマニュアル探しても無意味
>>600のスペシャルスタートアップではフルパスを保証してるのだろう w
616デフォルトの名無しさん:2014/01/16(木) 10:48:41.22
丁度、CreateProcessを使ってるので調べてみた

CreateProcessは第1引数あるいは第2引数あるいはその両方で
実行ファイルとコマンドラインを指定できる。
Webに転がってるサンプルだとどちらか一方で指定する場合が多いが
CreateProcess("exefile.exe", "hoge hage hige", ...)
と両方指定して起動するとコマンドラインとして「hoge hage hige」が
与えられる

従って、>>553の前提
> argv[0]には自分のプログラム名がフルパスで
> 格納されますよね
は間違っている

チョーセン人はレス禁止
617デフォルトの名無しさん:2014/01/16(木) 11:02:59.57
試してみたけど

bcc 起動時の指定ではなく、プログラムのフルパスがargv[0]に入った
vc 起動時のプログラムパス指定がそのままargv[0]に入った
gcc vcと同じになった
618デフォルトの名無しさん:2014/01/16(木) 11:10:50.10
Cを始めて数週間ほど経ったのですが、ポインタで理解に苦しむところがあるので教えてください

int *hensu;
*p = 10;
primtf("%%d = %d,%%p = %p",*hensu,&hensu);
return 0;



int hensu;
hensu = 10;
printf("%%d = %d,%%p = %p",hensu,&hensu);
return 0;


この二つのプログラムの実行結果に違いがないんですが、ポインタ変数の使い方ってこれで正しいのですか?

ポインタ変数にはアドレスを記憶させるものだと聞いたのですが、イマイチポインタ変数の利用方がわかりません

それと演算子としての&について聞きたいのですが、%pでアドレスを表示する場合、変数に&をつける必要ってなんですか?

ポインタについて、噛み砕いて教えていただけると嬉しいです。
619デフォルトの名無しさん:2014/01/16(木) 11:13:50.85
噛み砕いて説明するには余白が足りない
620デフォルトの名無しさん:2014/01/16(木) 11:16:08.05
>>619
ポインタを素人に理解するのは難しいでしょうか……
621デフォルトの名無しさん:2014/01/16(木) 11:19:09.20
掲示板で理解させるのは難しい
622デフォルトの名無しさん:2014/01/16(木) 11:24:18.72
他人に見せるときはコピペすべし。そこでタイプミスするのは有害
623デフォルトの名無しさん:2014/01/16(木) 11:28:42.25
わかりました、ご迷惑おかけしたようですみません
もう少し自力で調べて見ることにします
624デフォルトの名無しさん:2014/01/16(木) 11:32:56.02
教科書買えよ Webにはウソを教えるクソサイトが沢山ある
625デフォルトの名無しさん:2014/01/16(木) 11:37:16.00
int hensu;
でスタック領域に変数hensuが確保される
hensuで変数hensuに格納されている値にアクセスできるし
&hensuで変数hensuが格納されている領域のアドレスにアクセスできる
ポインタ変数を利用する目的はポインタ変数に格納されたアドレスを介して
そのアドレスに格納されている値にアクセスしたり関数を実行したりできること
626デフォルトの名無しさん:2014/01/16(木) 12:19:25.91
>>625
&hensuはアドレスを参照するとか読み込むためのもの
*hensuはアドレスに入ってる数値をいじくる為のもの
っていう考えでしょうか?
627デフォルトの名無しさん:2014/01/16(木) 12:27:41.10
>>626
読み込むと言うよりは「&(変数名)」でアドレスに置き換えられます。
「*(変数名)」はその逆です。変数をアドレスだと見なして、その番地にアクセスします。

printfの%pは、実引数に与えたデータがポインタだと仮定して表示するだけです。
%dでも何らかのデータは表示されますが、ポインタとして見づらいだけです。

ポインタ変数もただの変数と同じ値を格納しています。別に特殊な変数ではありません。
馬鹿な話、ポインタをint型(や環境によってはlong long int)に入れても動くようにプログラムできます。
628デフォルトの名無しさん:2014/01/16(木) 12:28:47.41
>>616
スレタイも読めない韓国人はレスするな
ここはWin32APIスレではない
629デフォルトの名無しさん:2014/01/16(木) 12:31:42.18
>>628
みんなスルーしてるんだからわざわざ構うなよ。
630デフォルトの名無しさん:2014/01/16(木) 12:32:54.33
つまりvoid*をキャストして多態性ということになる
631618:2014/01/16(木) 12:34:46.48
>>625
>>627

ありがとうございます
胸のつっかえが取れた気がしました
632デフォルトの名無しさん:2014/01/16(木) 12:40:35.43
>>628
実装の詳細に立ち入れば、OSの影響を受けるのは当たり前だ
チョーセン人は知能が低いな
633デフォルトの名無しさん:2014/01/16(木) 12:51:05.28
hogeみたいな日本固有の文化に過剰反応するのは要するに
そういうことだからスルー推奨
634デフォルトの名無しさん:2014/01/16(木) 13:13:58.92
日本の文化でないものを日本の文化とか言い出したぞw
日本の文化を知らない韓国人が日本の文化を語るとこうなるw
635デフォルトの名無しさん:2014/01/16(木) 13:59:49.05
ここからのコピペか。

>>632
その恥ずかしい書き込み晒されてますよ。
636デフォルトの名無しさん:2014/01/16(木) 14:31:10.55
hogeを持たないチョーセン人の嫉妬は凄いな
637デフォルトの名無しさん:2014/01/16(木) 14:43:37.90
>>632は完全にネタで書き込んでるのにコピペして喜んでる馬鹿がいるのか
638デフォルトの名無しさん:2014/01/16(木) 14:49:21.41
青くなってセルフ擁護かよw
639デフォルトの名無しさん:2014/01/16(木) 14:55:44.87
まさにチョーセン人丸出しの行動 w
世界記憶遺産申請と丸かぶり w
640デフォルトの名無しさん:2014/01/16(木) 15:10:02.38
632はガチじゃね?
リアル韓国人なら632みたいなことは平気で言うだろ。
641デフォルトの名無しさん:2014/01/16(木) 15:48:36.85
バコナロwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
642デフォルトの名無しさん:2014/01/16(木) 17:34:05.42
バコナロwwwwwwwwwwwwは朝鮮起源ニダ
643デフォルトの名無しさん:2014/01/16(木) 18:15:24.61
変数名がわかりづらいな
int hensu;
int * hensu_no_address = &hensu;

printf("アドレス=%p\n", hensu_no_address);
printf("値=%d\n", *hensu_no_address);
(*hensu_no_address) = 123;
644デフォルトの名無しさん:2014/01/16(木) 18:24:26.22
ナコロバ「ルルwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww」
645デフォルトの名無しさん:2014/01/16(木) 18:57:30.48
何ここ・・・気色わる・・・
646デフォルトの名無しさん:2014/01/16(木) 19:00:46.77
>>643
こっちのほうが親切
int * pointer_to_address_of_integer_type_variable_hensu = &hensu;
647デフォルトの名無しさん:2014/01/16(木) 19:43:49.35
なんだ、チョーセン人が同類を連れてきたのか
本当に迷惑な生き物だ
648デフォルトの名無しさん:2014/01/16(木) 19:48:06.46
韓国人がやっとsageを覚えたようです
649デフォルトの名無しさん:2014/01/16(木) 20:37:06.82
南チョンならsageを知らなかったのも無理はないわな。
スレ違いのage投稿とは南チョンらしい。
650デフォルトの名無しさん:2014/01/16(木) 20:42:53.21
どんなにクソな相手であっても、チョンとか言うのはいくらなんでもひどすぎるだろ
せめてアスペとかキチガイ程度にしとけよ
651デフォルトの名無しさん:2014/01/16(木) 20:49:24.33
>>650
ロバみたいな奴だな・・・
652デフォルトの名無しさん:2014/01/16(木) 21:08:57.51
黙れよジャップの黄色猿
653デフォルトの名無しさん:2014/01/16(木) 21:10:41.29
hoge禁止だけじゃなくてsageまで強要するつもりか
死ねよ チョーセン人
654デフォルトの名無しさん:2014/01/16(木) 21:41:17.94
はい、韓国人による自殺教唆入りましたー
655デフォルトの名無しさん:2014/01/16(木) 21:47:30.40
底辺のバカ者どもらしいスレだ
656デフォルトの名無しさん:2014/01/16(木) 21:49:41.97
へー、実はその底辺の頂点というか底辺オブ底辺に
Qというキチガイコテハンがいるんですよ。
ソイツが多方面でスレを荒らして迷惑なんです。
657デフォルトの名無しさん:2014/01/16(木) 22:09:49.11
C++荒らしてた韓国人はこっちも荒らし始めたか
658デフォルトの名無しさん:2014/01/17(金) 02:36:46.21
あわれなチョーセン人
659デフォルトの名無しさん:2014/01/17(金) 12:00:03.77
名無しスレ荒れすぎワロタww
660デフォルトの名無しさん:2014/01/17(金) 14:04:33.96
ジャアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアア
アアアアアアアアアアアアアアアアアアアアアアアアアアアアアア
アアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアップ!!!!!!!!!!!!!!!!!!!!!!
661デフォルトの名無しさん:2014/01/17(金) 14:50:22.16
ストレス抱えて睡眠障害に陥った韓国人が夜中の2時3時まで暴れてるからな
662デフォルトの名無しさん:2014/01/17(金) 20:11:06.74
質問です。
キャラクターの装備した武器を、戦闘画面でもグラフィックとして反映させる場合、
戦闘画面用の武器のグラフィックはどこで管理するのが適切でしょうか?
アイテムとして管理すべきでしょうか、それとも戦闘でエフェクト等と一緒に管理すべきでしょうか?
663デフォルトの名無しさん:2014/01/17(金) 20:18:11.77
武器を追加したとする。
あちこちいじるより、1箇所いじればすむ方がいいよな。
664デフォルトの名無しさん:2014/01/17(金) 20:43:16.77
質問です。
プリプロセッサを使って以下のように構造体宣言をしたとします。

typedef struct{
a;
#if ABC == 1
b;
#endif
}ST_hoge;

この時、マクロABCが定義されていない場合、コンパイルエラーになるでしょうか。
または「a」だけをメンバにもつ構造体ST_hogeができあがるのでしょうか。

よろしくおねがいします。
665デフォルトの名無しさん:2014/01/17(金) 20:48:07.91
難問すぎて答えられません><
666デフォルトの名無しさん:2014/01/17(金) 20:48:17.34
試してみろよ。
aの型名がないのでエラーになる。
int か何かをつけとけば、エラーにならず、aだけメンバーになる。

が、理由がないなら、通常は #ifdef ABC を使うでしょ。
667デフォルトの名無しさん:2014/01/17(金) 21:05:50.84
未定義マクロは0として扱われる(6.10.1/3)
668デフォルトの名無しさん:2014/01/17(金) 21:06:22.17
>>664
失せろhogeキチガイ
669デフォルトの名無しさん:2014/01/17(金) 21:08:07.99
>>664
hoge使うような本使ってるから
そんなことも分からないんだろ屑
670デフォルトの名無しさん:2014/01/17(金) 21:09:28.59
hoge嫌いは高確率でhage
671デフォルトの名無しさん:2014/01/17(金) 21:10:09.45
それよりもコンパイルエラーになるかどうか試せば済むものを質問してる時点で荒らし確定。

>>666-667
自己顕示欲を満たしたいだけなら他所でやれ。
今回のことは猛省しろ。
672デフォルトの名無しさん:2014/01/17(金) 21:12:32.91
>>664=ゴミw
673664:2014/01/17(金) 21:33:49.50
釣りにマジレスする馬鹿とアンチhoge合わせて6匹釣れたwwwwww
ここはいい釣り堀ですねwwww

間抜け乙
674デフォルトの名無しさん:2014/01/17(金) 21:44:32.97
664です。
動作環境が今ないので質問しました。
場を悪くしてしまいすみません。

>>666
>>667
理解しました、ありがとうございます。
675デフォルトの名無しさん:2014/01/17(金) 21:55:39.43
>>674
悪いと思ってるなら二度と来るなウジ虫
676デフォルトの名無しさん:2014/01/17(金) 21:57:06.26
>>674
ノイズは無視していいから、気軽に質問してね
677デフォルトの名無しさん:2014/01/17(金) 22:14:26.34
>>674
そうそう、お前が無視して荒らし続ければ人が減るだけだからどんどんやっちゃって
678デフォルトの名無しさん:2014/01/17(金) 22:52:57.35
ここでもあらしてるのかチョーセン人
いい加減に死ね 氏ねじゃなくて死ね
679デフォルトの名無しさん:2014/01/18(土) 01:48:46.71
失せろヒトモドキども
680デフォルトの名無しさん:2014/01/18(土) 10:11:07.87
int bound[]={0,2,6,14,30,62};
if (x<0 || !x<bound[5]) a=-1;
else if (x<bound[1]) a=0,b=x-bound[0];
else if (x<bound[2]) a=1,b=x-bound[1];
else if (x<bound[3]) a=2,b=x-bound[2];
else if (x<bound[4]) a=3,b=x-bound[3];
else a=4,b=x-bound[4];
return (xy_t){a,b};

これ分岐無しに出来んかな?
681デフォルトの名無しさん:2014/01/18(土) 11:20:55.56
>>680
bound[]は昇順という前提で
int a = -1;
a += x>=bound[0];
  :
a += x>=bound[5];
a -= ((a+1)%6)*6; // 5=>-1
682デフォルトの名無しさん:2014/01/18(土) 11:56:28.26
>>681 最後の式 % は /
683デフォルトの名無しさん:2014/01/18(土) 12:17:46.03
for(i = 2, a = 0, b = x; i <= b; a++,b -= i, i <<= 1);
684デフォルトの名無しさん:2014/01/18(土) 12:23:53.40
分岐をなくしたい
→繰り返し文

・・・?
685デフォルトの名無しさん:2014/01/18(土) 12:39:56.05
hogehogeが禁止とか言ってる人間に聞きたい。
C言語のスレでしょ、ここは?なんでダメなのか、そしてそこまでダメっていうんだったらて>>1にそう載せとけよって
思うんだが違います?

少なくともそのダメっていう理由を教えてよ
686デフォルトの名無しさん:2014/01/18(土) 13:02:14.90
NGにしてる人が多いんではないかのう
687デフォルトの名無しさん:2014/01/18(土) 15:52:59.51
>>663
ありがとうございます。
ということはグラフィックもアイテムで管理したほうがよいというこですね。
その方向で作ってみます。
688デフォルトの名無しさん:2014/01/18(土) 16:19:18.72
11^1500+700!を計算して全桁(1690桁)表示するプログラムなんですが

・多倍長整数を保持するデータ構造をつくり、そのデータ間の演算を定義する
・多倍長整数を表示する関数も作成し、計算結果を画面に表示する
・四則演算のうち*と+のみ定義すればよい
・べき乗、階乗は多倍長整数を用いて計算すること

暇な方いたらお願いします
689デフォルトの名無しさん:2014/01/18(土) 16:44:08.99
C言語による実用アルゴリズム入門 サンプルプログラム
に拡張桁数による計算例が載ってるからそれでも見たら?
690デフォルトの名無しさん:2014/01/18(土) 19:01:06.87
C言語慣れてきたら多次元配列を使わなくなった。
1次元で十分。
691デフォルトの名無しさん:2014/01/18(土) 19:07:23.85
多倍長を作る立場の言語がCだからなあ
作れない時点で終わってる
692デフォルトの名無しさん:2014/01/18(土) 19:28:18.23
最強のMMOフレームワークをCで作ろうぜ!
693片山博文MZコスモ ◆T6xkBnTXz7B0 :2014/01/18(土) 19:38:46.97
>>692
作るの手伝うから仕様決めて
694デフォルトの名無しさん:2014/01/18(土) 20:07:51.25
Cはしんどいよ。
C++11にしようよ。
695デフォルトの名無しさん:2014/01/18(土) 21:18:06.09
作ったアプリが落ちるから原因調べようとしたけどなかなか分からず3時間かかった
デバッグ用にsprintfに渡してた配列が足りてなかった死ね
696デフォルトの名無しさん:2014/01/18(土) 21:25:36.38
足りてないならそう言え死ね
697デフォルトの名無しさん:2014/01/18(土) 21:33:24.03
お前の頭が足りてない
698デフォルトの名無しさん:2014/01/18(土) 21:40:02.76
なんでC言語とか未だに使ってるの
上級者がやむなく使うならまだしも
初心者レベルでCやられてもゴミしか作らねーのに
699デフォルトの名無しさん:2014/01/18(土) 21:42:44.33
ゴミ
700デフォルトの名無しさん:2014/01/18(土) 22:18:43.50
700
701デフォルトの名無しさん:2014/01/19(日) 04:23:38.05
ゲームなんか作ってどうするのよ
周りのみんなは受験勉強やら自己啓発で資格取得やら親しい友人と親睦深めたりしてるのに
ゲームプログラミングなんかしてても受験、就職、出世、何の評価にも繋がらないぞ
しかも10年も経てば今やってることなんざ時代遅れの何の役にも立たない糞知識と化すの分かってるのに
時間とエネルギーの無駄TOEICの勉強でもしてた方がなんぼかマシ
履歴書に特技ゲームプログラミングとか書くのか世間はキモオタとしか見ないよ残念
大体任天堂ですら平均勤続年数10年しかないのに将来どうするのよ
仕事の負荷はMAXで残業代もまともに払われない企業ばかりだよ
ゲームを作ると言うことは人生をドブに捨てることに等しい
両親に申し訳ないとか思わないのか
分かったらゲームプログラミングなんて辞めて真っ当な人生を送れ
702デフォルトの名無しさん:2014/01/19(日) 04:25:12.82
今のゲームがどうなってるのか知らんくせに
703デフォルトの名無しさん:2014/01/19(日) 06:06:19.89
有名なコピペに反応するな
704デフォルトの名無しさん:2014/01/19(日) 06:16:00.71
どうせ人生を何か一つにかけるしかないなら
プログラミング以外が良いよな〜って思うよ

早めにリターンする方が後悔しないよw
705デフォルトの名無しさん:2014/01/19(日) 07:59:54.46
なんだコピペか
俺、ゲーム作った事無いが
ゲームを、自分で手さぐりながら、なんとか自分の
作り上げたなら
それはそれで、自ずとスキルが身につくと思うけどな
まぁ、CよりはC++で作った方が良いと思うけど
706デフォルトの名無しさん:2014/01/19(日) 09:33:08.91
>>704
大学時代にそれに気付いて公務員になりました
今はVBAで簡単なシステム作って遊んでます^_^
707デフォルトの名無しさん:2014/01/19(日) 12:04:19.19
>>701
まだ黎明期なんだよ
チャトランガでもタロットでも歴史の長い遊びに国境はなくなってるだろ
英語を習い始める前からポーカーくらいできたようにな
ルールを説明する本を書く人が英語や日本語ができればおkなわけで
コンピューターゲームで言えば語学はマニュアル屋がやればいい

ゲーハー屋ってのは将棋盤やカードの製造技術を担当する人たちで
憶えることは化学や工場管理といった方面と、プレイヤーとしてのスキルだね
コンピューターゲームではそれに電気電子が加わるわけだ

未開拓が多く残っている業界に生きる気なら負けん気の強さが適性ってことさ
708デフォルトの名無しさん:2014/01/19(日) 12:18:04.45
では結論が出たところで映画コンプレックスどもが排泄しつづけるクソゲー群を滅ぼしに参ろう
709デフォルトの名無しさん:2014/01/19(日) 13:57:17.07
最近のゲームって画質のよい派手なエフェクトの必殺技や魔法をバンバン出せるけど、エフェクトはいつロードしてるの?
昔ならその必殺技を出す瞬間に演出としてキャラをアップにして一瞬止めた隙とか、
魔法だったら詠唱中とかにロードしてたと思うんだけど、
最近はそういうのなしでもバンバン出せるよね?
ディスクのゲームのくせに読み込み時間が分からない
まさか戦闘開始時に全部読み込んでるとか?
710片山博文MZコスモ ◆T6xkBnTXz7B0 :2014/01/19(日) 14:03:55.11
マルチスレッドだからタイミングは自由
メモリにも余裕ある死ね
711デフォルトの名無しさん:2014/01/19(日) 14:28:11.60
8bit マイコンです

#define T0 256*250/430と設定するとコンパイラは253と出力
#define T0 256UL*250/430とすると148と正しく出力します

256*250/430が253となる計算とはコンパイラはどのような計算をしているのか
教えて。8bit以上の部分は切り捨てられているのかと手計算しましたが
うまくできません。
712デフォルトの名無しさん:2014/01/19(日) 14:42:35.24
マイコンの種類は?
713デフォルトの名無しさん:2014/01/19(日) 14:45:36.99
コンパイラの名前は?
714デフォルトの名無しさん:2014/01/19(日) 14:57:26.94
>>711
256*250/430は、sizeof(unsigned long) == 2な環境では
0x100*0xfa/0x1aeで0xfffdとなる
253は0xfd

こうなっちゃいけないんだけどね
715711:2014/01/19(日) 15:01:15.56
こんな計算をしました。指摘してもらえるとありがたいです
256*250=64000
65535-64000=1535
1535/430=3
3を-3にして16進にすると
FFFD→上位切り捨てると0xfdで253に。。。


コンパイラ?
WinAVR-20090313
716711:2014/01/19(日) 15:05:03.22
>>714さん
ありがとう
0x100*0xfa/0x1aeで0xfffdとなる
どうゆう手順でそう出力されるのか教えてほしいです。。
717デフォルトの名無しさん:2014/01/19(日) 15:10:04.62
つWindows電卓
718デフォルトの名無しさん:2014/01/19(日) 15:20:42.49
(signed short)256*(signed short)250/(signed short)430
=(signed short)-1536/(signed short)430
=(signed short)-3
719デフォルトの名無しさん:2014/01/19(日) 17:18:29.27
atoiはマイナスの"-"が付いてると数字ではないと判断するようですが、
マイナスかどうかは自分で判断しないといけませんかね?
自分で判断するとしたら一文字目が"-"かどうかを判定して、
"-"だったら2文字目から数値化してマイナスの値にする作業が必要ですよね?
そうするとこんな感じで書かなきゃいけないですよね?

int atoiex(char *buf)
{
int x;
if (buf[0]=='-') x=0-atoi(&buf[1]);
else x=atoi(buf);
return x;
}

書くのが面倒なのですが何か良い方法はありませんでしょうか?
720デフォルトの名無しさん:2014/01/19(日) 17:24:02.98
>>719
なんで 0 から算術マイナスを使う? 単項マイナスでよいはずだが
721デフォルトの名無しさん:2014/01/19(日) 17:26:37.98
>>719
> atoiはマイナスの"-"が付いてると数字ではないと判断するようですが、
しません
722デフォルトの名無しさん:2014/01/19(日) 17:28:42.26
標準のatoiは先頭に+,-がつくと符号として変換する
キミの環境はかなり特殊なようだね
まともな標準ライブラリ用意しなよ
723デフォルトの名無しさん:2014/01/19(日) 17:28:45.75
>>719
そのコンパイラはANSIに準拠してない。コンパイラのメーカーに
苦情のメールを千件ほど送ってみたらどうか? お前のコンパイラは糞だってね
724デフォルトの名無しさん:2014/01/19(日) 17:39:56.29
square n = n * n
map square [1, 2, 3]
このHaskellのプログラムをCで実装したいのですが、
#include <stdio.h>
#define LENGTH 3
map(f, p)
int (*f)(int n);
int *p;
{
int i;
for (i = 0; i < LENGTH; i++) {
(*f)(*p);
p++;
}
}
square(n)
int n;
{
return n * n;
}
main(argc, argv)
int argc;
char **argv;
{
int list[] = {1, 2, 3};
map(square, list);
}
これでいいのでしょうか
725デフォルトの名無しさん:2014/01/19(日) 18:30:38.75
>>724
HaskellとCの両方できるなんてすごいね、珍しい。
関数の仮引数の書き方がちょっと古臭いけど。
IDEのデバッグ機能でステップ実行すると動作を確認できるよ。
726デフォルトの名無しさん:2014/01/19(日) 18:39:59.02
>>724
#include <stdio.h>
int** map(int (*f)(int), int src[], int dest[], int len) {
int i;
for(i=0; i<len; i++) {
dest[i] = (*f)(src[i]);
}
return (int**)dest;
}
int square(int n) { return n*n; }
int main() {
int src[]={1,2,3}, dest[3]={0};
int len=sizeof(src)/sizeof(src[0]);
int **p,i;
for(i=0; i<len; i++) { printf("%d ", src[i]); } puts("");
for(i=0; i<len; i++) { printf("%d ", dest[i]); } puts("\n");
p = map(square, src, dest, len);
for(i=0; i<len; i++) { printf("%d ", src[i]); } puts("");
for(i=0; i<len; i++) { printf("%d ", dest[i]); } puts("");
for(i=0; i<len; i++) { printf("%d ", p[i]); } puts("\n");
return 0;
}
いまいちだな
727デフォルトの名無しさん:2014/01/19(日) 22:27:46.99
ペイントソフトのアンドゥってどうなってるんですかね?
どんどんメモリ確保してキャンバスごと保存してるんですかね?
728デフォルトの名無しさん:2014/01/19(日) 22:34:28.95
32ビットって何バイトだよ
729デフォルトの名無しさん:2014/01/19(日) 22:37:09.60
ああ4バイトか
longと同じだな
longで管理してもいいな
730デフォルトの名無しさん:2014/01/19(日) 22:38:18.57
>>727
更新前情報と更新後情報をすべてジャーナルに取っていて必要なときにロールバックするんだ。
731デフォルトの名無しさん:2014/01/19(日) 22:41:36.37
>>730
更新前/後情報ってキャンバス全体のことですよね?
732デフォルトの名無しさん:2014/01/19(日) 22:44:19.44
各ピクセル32ビットで512*512ピクセルの画像だと約1MB
1024*1024ピクセルで約4MB
これを丸ごと保存していくと、100回分だと100〜400MBってことか
最近のパソコンはメモリ8GBくらい積んでるだろうし大丈夫かな
733デフォルトの名無しさん:2014/01/19(日) 22:45:04.63
普通に実装するなら差分&スナップショットの併用じゃない?
734デフォルトの名無しさん:2014/01/19(日) 22:47:42.97
あー背もたれと頭の間にトイレットペーパーをロールごと挟むとちょうどいいわ
735デフォルトの名無しさん:2014/01/19(日) 22:53:01.22
ペンの種類、色とか、図形の情報、例えば線分の始点と終点の座標を覚えていくとかじゃないの?
736デフォルトの名無しさん:2014/01/19(日) 22:53:48.96
>>733
差分って変化があったピクセルだけ前後の色を保存するんですよね?
ピクセル情報用の構造体を用意しておいて変化があるたびに、
malloc(sizeof(ピクセル情報用構造体)*変化のあったピクセル数)
とかする感じでいいんですかね

struct ピクセル情報用構造体{
int x , y;
long beforecolor , aftercolor}

みたいな感じですかね
737デフォルトの名無しさん:2014/01/19(日) 23:01:29.61
>>735
難しいです
738デフォルトの名無しさん:2014/01/19(日) 23:06:57.45
>>735
何をやったかを記憶してるだけじゃ元に戻せませんよね?
例えば点Aから点B(A≠B)に線分ABを引いたとき、
A、Bの座標、線の太さ半径4ピクセル、色0xFFEF92A6を記憶していても
線の描かれた場所の元々の色が分からないから戻せませんよね?
739デフォルトの名無しさん:2014/01/19(日) 23:09:31.80
頭使ってたら腹減ってきた
740デフォルトの名無しさん:2014/01/19(日) 23:10:26.85
非可逆操作やbranch的操作でスナップショットでいいんじゃないかな
741デフォルトの名無しさん:2014/01/19(日) 23:11:33.61
結果を記録しておくんじゃ無くて
方法を記録しておくんよ
742デフォルトの名無しさん:2014/01/19(日) 23:17:16.06
上記のピクセル用情報構造体をpixdataとすると

pixdata **pd;
int pdnum;

としておいて、変更があるたびに、

subpd = (pixdata**)realloc(pd,sizeof(pixdata*)*(pdnum+1));
pd = subpd;

temppd = (pixdata*)malloc(sizeof(pixdata)*変更されたピクセル数);
//temppdにデータ流し込みpd[pdnum] = temppd;

pdnum++;

って感じですかね?
743デフォルトの名無しさん:2014/01/19(日) 23:19:00.40
>>740
スナップショットがよく分からないです

>>741
リドゥはそれで対応できそうですね
744デフォルトの名無しさん:2014/01/19(日) 23:28:10.85
だめだ、これだとキャンバスサイズを変えたときに対応できない



・・・そこでスナップショット(キャンバスごと保存)か?
となると、スナップショットとピクセル変更情報がランダムに出てくることになるから
その順番も保存しとかないといけないな
struct draworder{
int type;//キャンバス丸ごと情報か変更ピクセルの情報だけか
int index;//それぞれの場合の参照ID
}
こいつの配列を用意して順番を記憶しておかなければならないか
typeは定数でDATATYPE_CANVASかDATATYPE_PIXELで、
indexは、例えばピクセルだったらさっきのpdnumをインクリメントする前に入れる感じか
745デフォルトの名無しさん:2014/01/19(日) 23:30:15.81
これしかやり方ないの?
ダルくね?
746デフォルトの名無しさん:2014/01/19(日) 23:32:02.11
いや、元の画像から保存しておいた描画コマンドを再生すれば
いいだけじゃないの?
ユーザーがA-Bに線を描画した結果を保存しておくんじゃ無くて
ユーザーがA-Bに線を描画したという方法を保存しておけば
最初の画像が残ってれば順番にやり直せるよね
747デフォルトの名無しさん:2014/01/19(日) 23:32:44.21
スナップショットから行った方法を順番に記録しておいて、
アンドゥされたらスナップショットから現在の1つ手前まで描画するで良くない?
748デフォルトの名無しさん:2014/01/19(日) 23:36:20.28
>>746
ええと、例えば、101回変更を終えた後、100回目の変更を終えた状態に戻したい(つまり1回アンドゥしたい)場合は、
最初から100回繰り返すということですか?
749デフォルトの名無しさん:2014/01/19(日) 23:38:20.26
>748
それは適当なタイミングで途中のスナップショット取って置けよ
必要だと思うならな
750デフォルトの名無しさん:2014/01/19(日) 23:41:51.61
>>747,>>749
なるほど・・・
751デフォルトの名無しさん:2014/01/19(日) 23:44:20.55
しかしなんでペイントソフトをCなんかで。
オブジェクト指向言語なら描画アイテムをオブジェクトとして扱えて相性いいんだし。
描画方法もコマンドパターンで作れば、コマンドオブジェクトをそのまま保存すれば良いだけなのに。
752デフォルトの名無しさん:2014/01/19(日) 23:46:55.26
そもそも、Cで書くぐらいの気概があるならCは当然読めるわけで。
となると、Cで書かれたオープンソースなお手本アプリが沢山あるって話だわな。
753デフォルトの名無しさん:2014/01/19(日) 23:47:41.89
>>748
不満なら直近の10ぐらいは保持しておいてもいいんじゃない?
754デフォルトの名無しさん:2014/01/19(日) 23:58:48.47
ちょっと光が見えたので頑張って実装してみます
ありがとうございました

とりあえず夜食にとんこつラーメンと冷凍ピザ食べます
755デフォルトの名無しさん:2014/01/20(月) 00:02:09.13
GCC用に作ったライブラリをClangから使うことはできますか?
756デフォルトの名無しさん:2014/01/20(月) 00:08:08.94
使えなかったら大変だわ
757デフォルトの名無しさん:2014/01/20(月) 00:51:18.35
【乞食速報】サンドラッグ.comで2,000〜1,200円タダで買い物できる

1. http://sundrug.dena-ec.com/のクーポンプレゼントのリンクからID作成、ログインして1000円クーポン獲得

2. http://sundrug.dena-ec.com/account/coupon/arrival/Q8NNOL7Yを踏んで500円クーポン獲得(合計1500円)
※アフィだがアフィ経由で無いと1,000円分のみになる

3.スマホやタブレットに「DeNAショッピング」アプリをインストールしてアプリからログインして更に500円分のポイントGET
Android:https://play.google.com/store/apps/details?id=jp.dena.bidders&hl=ja
iOS:https://itunes.apple.com/us/app/denashoppingu/id511224543
端末が無い場合、GenymotionやBlueStacksなどでも多分OK
  ↓
1,000円クーポンで買い物 ※1度に使えるクーポンは1つのみ
  ↓
500円クーポンと500円ポイントを併用して買い物

送料は400円なので、600円以下の物を買うとタダで買い物できる(3,000円以上買うと送料0円)
★1,000円クーポンと500円ポイントを併用して1,500-400=1,100円分買い物することも可能
758デフォルトの名無しさん:2014/01/20(月) 02:02:44.20
とんこつラーメンとピザ食べてサッパリしたから再開
759デフォルトの名無しさん:2014/01/20(月) 04:32:49.15
intのサイズって環境によって違うって言うけど、
コンパイル時の環境によって違う場合があるの?
それとも実行時の環境によって違う場合があるの?

前者ならコンパイル済のバイナリやライブラリ配布するなら安心なんだが
760デフォルトの名無しさん:2014/01/20(月) 06:32:54.28
コンパイラが、あるいはソースコード上で
intのサイズを決めて、そのintのサイズが同じOSなら動く

結局PC上で動かすプログラムなら気にしなくて良いよそれ、
intのサイズの違いなんて、OS開発者が互換性もたせて何とかする事だから
761 ◆QZaw55cn4c :2014/01/20(月) 06:47:25.43
>>759
前者についてはクロスコンパイラという存在がある

int のサイズについては、最近は正直言ってポリティカルという印象をぬぐえない、AMD64なら int は64、long は128か256にはなってほしいもの、short は32が妥当か
そんなコンパイラはないものかねえ
762デフォルトの名無しさん:2014/01/20(月) 09:30:40.11
>>759
コンパイル時に決まる
763デフォルトの名無しさん:2014/01/20(月) 09:51:13.62
VC2010 Expressですけど、ちょっと教えてくださーーい

#include <stdio.h>
int main()
{
char str[100];
char moji;

printf("半角英数字を入力(100文字以内):");
scanf("%s",str);

fflush(stdin);

printf("検索対象文字:");
scanf("%c",moji);

//************
printf("検索対象文字列:%s\n",str);
printf("検索文字 :%c\n",moji);
//************

return 0;
}
コンパイルは出来ても
printf("検索対象文字列:%s\n",str); のところで異常終了してしまうのはなぜなんでしょうか?
764デフォルトの名無しさん:2014/01/20(月) 10:11:15.70
>scanf("%c",moji);

まあそれ直しても改行文字しか入力されないと思うけど。
765デフォルトの名無しさん:2014/01/20(月) 13:25:56.75
>>760,>>762
サンクス
安心した
766デフォルトの名無しさん:2014/01/20(月) 21:35:12.31
767デフォルトの名無しさん:2014/01/20(月) 21:42:16.33
前半はいいが、後半は空文字列以外に言えねぇ
768デフォルトの名無しさん:2014/01/20(月) 21:53:09.18
>>759
「同じバイナリなのに実行時にintのサイズが変わる事があるのか」
という事を心配しているのかな?
答えは「ありません」です
全てはコンパイル時に決定されます
769デフォルトの名無しさん:2014/01/20(月) 22:23:42.25
NULL
NUL
""
'\0'
nil
常識って言っちゃってる人は何なん?
770デフォルトの名無しさん:2014/01/21(火) 00:54:25.05
これは英語の問題なのでnullが正解。
他は全部×。
771デフォルトの名無しさん:2014/01/21(火) 01:08:35.82
ぬるぽ
772デフォルトの名無しさん:2014/01/21(火) 07:26:45.90
空文字列ならemptyが正しい
まずNULLと文字列が関係しちゃってるのはC言語のゴミ仕様がそうなってるだけで
殆どの言語において、文字列とNULLはもはや関係ない
あと「NUL」もWindowsで使ってる場所ある

つまり、ゴミ
773デフォルトの名無しさん:2014/01/21(火) 07:28:52.10
ゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミwwwwwwwwwwww
死ねゴミ
774デフォルトの名無しさん:2014/01/21(火) 07:46:40.73
>>773
だったらまずお前が死ねよキチガイ
775デフォルトの名無しさん:2014/01/21(火) 08:13:12.25
うちのC言語は NULL と文字列は無関係ですが…
どこの地方の方でしょうか
776デフォルトの名無しさん:2014/01/21(火) 08:17:39.77
>>774
何が「だったらまずは」なのか? 死ねゴミ

>>775
死ね初心者
C言語において文字列とはポインタそのもの
ポインタにはNULLの概念がある
(普通の言語の)文字列にはNULLの概念はない
死ねゴミ
777デフォルトの名無しさん:2014/01/21(火) 08:29:07.41
こいつ >>776 はまず、人間としてダメだな
社会では通用しない
778デフォルトの名無しさん:2014/01/21(火) 08:40:31.43
>>777
死ねwwwwwwwwwwゴミwwwwwwwwww
ゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミ
ゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミ
ゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミwwwwwwwwwwwwwwwwww
779デフォルトの名無しさん:2014/01/21(火) 10:07:38.24
uy in, garbage out
780デフォルトの名無しさん:2014/01/21(火) 10:26:27.08
>>776
> C言語において文字列とはポインタそのもの

ちげーよ、すっとこどっこい
ポインタは文字列の位置情報
配列は文字列の格納領域
どちらも文字列そのものではない
781デフォルトの名無しさん:2014/01/21(火) 10:44:29.36
>>776
>C言語において文字列とはポインタそのもの
ポインタ理解してないゴミ屑はでしゃばるな w
782デフォルトの名無しさん:2014/01/21(火) 10:54:18.70
http://www.nurs.or.jp/~sug/soft/tora/tora8.htm
>文字列とはポインタである

http://www.cqpub.co.jp/hanbai/books/18/18781/18781_5syo.pdf
>文字列はポインタとして扱う

http://par.mcr.muroran-it.ac.jp/~ohkama/2013ap-prog/lec/lec/node172.html
>文字列はポインタに化けている


http://ratan.dyndns.info/MicrosoftVisualC++/adress6.html
>C言語のchar型文字列ポインタ処理の説明です

http://wisdom.sakura.ne.jp/programming/c/c23.html
>文字列ポインタ

http://www.avaloky.com/soft28.html
>文字列のポインタは「文字列型」のように定義することができる

http://software.ed.sie.dendai.ac.jp/csystem/wiki.cgi/shigo2012?page=8+%A5%DD%A5%A4%A5%F3%A5%BF
>文字列はポインタが得られる


死ねゴミwwwwwwwww
さっさと泣いて謝れよゴミwwwwwwwwwwwwwwwwwwww
783デフォルトの名無しさん:2014/01/21(火) 10:57:06.44
>>779
死ねゴミ
>>780
ほら死ねゴミ
>>781
お前もだよ死ねゴミ

【初心者】は【今】すぐ【謝って】【死ね】

ゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミwwwwwwwww
ゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwww↓ゴミwwwwwwwwww
wwwwwwwww>>780 ゴミ「すっとこどっこい」wwwwwwwwwwwww
↑死ねゴミwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
ゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミwwwwwwwwwwwwwwwwwwwwwwww
784デフォルトの名無しさん:2014/01/21(火) 11:01:56.28
昔ASCIIのC言語3部作にそこを混同してるのがあったな。未だに変な考え持っている人が
いたのか。この人が書くプログラムなんか結構読んだら笑えそうだ。
785デフォルトの名無しさん:2014/01/21(火) 11:11:26.90
>>779
uy up, shit down
786デフォルトの名無しさん:2014/01/21(火) 11:15:15.04
>>782
うんこページでウソ憶えたんだな
惨めすぎるぞ
787デフォルトの名無しさん:2014/01/21(火) 11:23:04.20
はい反論できないね

ゴミと初心者はさっさと死ね


あ?死ぬ前に世界に謝って死ねよな

初心者とゴミは世界に謝れ
788デフォルトの名無しさん:2014/01/21(火) 11:29:20.40
クイックソートってqsort使わずにできますか?
本当に初心者ですので、検討違いな事でしたらすみません
789デフォルトの名無しさん:2014/01/21(火) 11:30:01.72
>文字列とはポインタである
これは明らかに間違い。

>文字列はポインタとして扱う
扱いとしては確かにその通り。

>文字列はポインタに化けている
別に化けている訳ではない。

>C言語のchar型文字列ポインタ処理の説明です
これだけでは寧ろ文字列とポインタを同一視していないと思われる。

>文字列ポインタ
これも同様で、文字列とポインタを同一視していたら文字列ポインタとは言わないだろう。

>文字列のポインタは「文字列型」のように定義することができる
「のように」に注意。

>文字列はポインタが得られる
そうだね。
790デフォルトの名無しさん:2014/01/21(火) 11:30:53.19
>>788
qsort()はクイックソートアルゴリズムで実装されている保障はありません。
それはさて、質問の意図が分かりません。
791デフォルトの名無しさん:2014/01/21(火) 11:36:10.41
>>790
では、qsortなしでクイックソートのプログラミングが出来るのですね
実は授業で、while,for,if文のみでクイックソートのプログラミングをせよと出題されたもので
792デフォルトの名無しさん:2014/01/21(火) 11:36:53.48
>>787
お前があげたページで
> C言語において文字列とはポインタそのもの
と説明してるのは、どっかのゴミ屑が書いた
http://www.nurs.or.jp/~sug/soft/tora/tora8.htm
>文字列とはポインタである
これだけじゃねーか

お前が文字列とポインタを理解してない証拠
ゴミ屑死ね
793デフォルトの名無しさん:2014/01/21(火) 11:50:28.49
uy人民共和国憲法により
第2条 IT知識不足罪
および
第4条 3項 IT知識曲解流布禁止条例
により
軍事法廷に参じて頂く

情状酌量を望む余地あらば、ここで今すぐに土下座して謝罪の文章を原稿用紙30枚分書き連ね
泣いて謝れゴミ泣いて謝れば貴様等の知識不足を赦す未来を考慮する
794デフォルトの名無しさん:2014/01/21(火) 12:45:47.75
質問です...
コーディングの事なんですが、元に戻すで前の状態にできるじゃないですか?
でその前の状態を完全に記憶できないのがプログラミングがはかどらない原因で
例えばX Zという現在の状態であってこの状態を
X Y Zという過去の状態に戻したい時を考えます。
795デフォルトの名無しさん:2014/01/21(火) 12:48:05.67
このとき、過程が過去から現在に向かって
X Y Z     1

X W R Z    2

X Z 3

X W Y Z 4

X W W Y Z 5

X Z 6
(X〜Zは処理)
このとき6から1に戻すために戻るコマンドを押し続けるのですが
過程を全て覚えていないのと、途中で6の状態と同じ3のような状態
が存在することによって混乱してしまいます。
同じように困ってるいませんか?どうやって対処してますか?
796デフォルトの名無しさん:2014/01/21(火) 13:51:16.91
797デフォルトの名無しさん:2014/01/21(火) 14:09:20.55
しねごみ
798デフォルトの名無しさん:2014/01/21(火) 14:17:54.96
>>795
Undoに頼るからそうなる。つーか、スレ違い。
雑談スレにでも逝け。
799デフォルトの名無しさん:2014/01/21(火) 14:29:14.74
>>791
「 クイックソート 再帰なし」とかでググるといいよ
800デフォルトの名無しさん:2014/01/21(火) 15:26:02.40
何故再帰なし?
801デフォルトの名無しさん:2014/01/21(火) 15:29:42.69
> while,for,if文のみでクイックソートのプログラミングをせよ
の制限で再帰は許されるかどうかは迷う話ではある。
802デフォルトの名無しさん:2014/01/21(火) 16:11:39.83
ファイル開いたら、ひらきっぱなし
メモリ取得したらプログラム終わるまでそのまま
みたいな事は製品ではありえないでしょうか?
×で閉じればOSが何とか強制終了してくれるから、今まで
freeとかreturnとかcloseとか書いた事ないんですが
よくないですか?
またそういった製品があれば欠陥品になりますあk?
またばれますか?
803デフォルトの名無しさん:2014/01/21(火) 16:14:06.83
1万行くらいのコードで
return
free
close
など締めに関するコードを全く書かないと不具合とか生じるんでしょうか?
804デフォルトの名無しさん:2014/01/21(火) 16:33:54.32
問題無い
805デフォルトの名無しさん:2014/01/21(火) 16:35:49.18
cでgcが働くとかいってるバカいたな
806デフォルトの名無しさん:2014/01/21(火) 16:36:51.32
>>803
コード依存かつ環境依存なので
具体的にその1万行のコードと動作環境を提示しなさい
807デフォルトの名無しさん:2014/01/21(火) 16:39:46.06
>>806
いや知らないですが、例えば市販のゲームとかって
malloc()などの処理をしてるのかなーって思っただけです
808デフォルトの名無しさん:2014/01/21(火) 16:47:03.62
普通は使い終わったら解放する
意図的にmallocしっぱなしにすることはある
特にゲームとか性能が必要となる場合は…
809デフォルトの名無しさん:2014/01/21(火) 16:49:52.03
>>808
へーそうなんですか、素人の僕にはその判断が分からずとりあえず
何もしません
810デフォルトの名無しさん:2014/01/21(火) 17:06:52.61
>>809
解放しないことでOSのメモリを使いつくすようなら解放したほうがいいだろ
メモリ使いつくされてHDDやSSDガリガリされても嫌だし
811デフォルトの名無しさん:2014/01/21(火) 17:12:42.99
>>809
ついでにそのまま死ね
812デフォルトの名無しさん:2014/01/21(火) 18:05:28.41
実際に殴られるまで痛みに無頓着って奴だな
813デフォルトの名無しさん:2014/01/21(火) 18:11:45.17
良心的な俺様がマジレスしとくけど>>802については賛否両論
ちなみ俺様はOSが回収してくれるから書かなくてもいいんじゃね?って考え

ほんとにゴミみたいなだなスレは。
特にマルチスレッドとかやってると、終了時の解放でミスってんだろうけど
処理速度遅い時に限ってエラーでるゲームは良くある

プログラム終了時にエラー出すリスクを減らす為にもOSに全部任せちゃって欲しい
814デフォルトの名無しさん:2014/01/21(火) 18:11:49.99
いっそのこと自分がCを使う必要性にも疑いの目を向けてくれまいか
815デフォルトの名無しさん:2014/01/21(火) 18:52:58.74
>>813
だろうじゃねえんだよ

一事が万事、雲散霧消ってスタンスだから
ミスったかどうかさえわからないんだよ
816デフォルトの名無しさん:2014/01/21(火) 19:42:20.06
2chに厨房しか居なくなっちゃった
817デフォルトの名無しさん:2014/01/21(火) 19:50:09.20
>>813
おう、二度と来るなよ
818デフォルトの名無しさん:2014/01/21(火) 19:53:39.76
>>813
OSが回収するのはプログラムの終了時だろ
プログラムの実行中にリソースを開きっぱなしなのがマズいんだよ
819デフォルトの名無しさん:2014/01/21(火) 20:01:54.26
実行中ずっとつかみ続ける必要があるならそのままでおk。
820デフォルトの名無しさん:2014/01/21(火) 20:09:51.39
このスレのゴミは技術がないどころか文章も読めないゴミか


> ×で閉じればOSが何とか強制終了してくれるから、今まで
>freeとかreturnとかcloseとか書いた事ないんですが
>よくないですか?

ゴミみたいなスレだな・・・
821デフォルトの名無しさん:2014/01/21(火) 20:14:23.01
Cのメモリ管理でベターというか、定石的な方法ってあるんですか?gotoで制御しているのは見かけますが。
グローバルなアドレスを管理する時はその為の構造を用意するのでしょうか?
822デフォルトの名無しさん:2014/01/21(火) 20:18:33.67
>>821
ないけど行数かさんでくるのなら最低でもスマートポインタとかで管理するべき
823デフォルトの名無しさん:2014/01/21(火) 20:23:09.24
GCも種類によって得手不得手ある
作るアプリに合わせて方法を選ぶ
しかし初心者レベルで作るような底辺アプリならどの方法選んでも大差ない
824デフォルトの名無しさん:2014/01/21(火) 20:26:06.78
ちなみにC言語の文字列は4種類のポインタで管理してある
1スタックポインタ
2ヒープポインタ
3マクロポインタ
4ポインタ

freeで解放出来るのは2のヒープポインタだけ
825デフォルトの名無しさん:2014/01/21(火) 20:31:46.88
管理するアドレスをスタックに積んで置いて、どこかでエラーが出たら終了前に
上から回収して行くとかは・・・現実的じゃないですかね?
826デフォルトの名無しさん:2014/01/21(火) 20:35:30.44
>>824
オレオレ用語を使う際には定義を併記しろって教えられなかったのか?
827デフォルトの名無しさん:2014/01/21(火) 20:53:09.28
>>824
ナンデヤネン
828デフォルトの名無しさん:2014/01/21(火) 20:55:38.63
>>824 死ね
829デフォルトの名無しさん:2014/01/21(火) 20:59:50.89
>>825
まだ例外を使えるC++コンパイラがなかった頃、いくつかのフレームワークが
そういう事やったあとlongjumpするみたいな感じで例外をシミュレートしてた。
830デフォルトの名無しさん:2014/01/21(火) 21:12:39.24
>>828
お前だよ

お前が死ねゴミ
831デフォルトの名無しさん:2014/01/21(火) 21:15:08.32
>>830
オレオレ用語使うんじゃねー
死ね
832デフォルトの名無しさん:2014/01/21(火) 21:17:12.65
>>831
誰に口聞いてんだ?

死ね
833デフォルトの名無しさん:2014/01/21(火) 21:25:05.01
>>832
初心者に嘘を教えるお前が死ね
社会に迷惑なんだよ、迷惑
834デフォルトの名無しさん:2014/01/21(火) 21:27:45.38
死ねゴミwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
切腹しる
835デフォルトの名無しさん:2014/01/21(火) 21:28:49.79
>>829
そうなんですか。setjump/longjump は使い方わからないんですが
今から覚えるなら大人しくC++の例外覚えたほうが良さそうですね
836デフォルトの名無しさん:2014/01/21(火) 21:50:29.19
謝れ!謝れ!謝れ!謝れ!謝れ!謝れ!謝れ!謝れ!謝れ!謝れ!
初心者土下座しろ!!上級者に逆らってすみませんでしたこれからはひっそりROMりますって言え!!
初心者はひれ伏せ!!
図がたけーんだよカスがあ
初心者だからってなんでも許されると思ってる?
ゆるされねーから!!!!初心者とかネット上において関係ないし2ch以外のお前とかしらねーから!!
初心者がきていい場所じゃねーんだよカス謝れ
ROMれカス初心者
謝れ!!謝れよ!!!謝罪しろ!!はやく
はやく謝って!!ねえ早く謝って!!!俺に謝って!
間に合わなくなんぞ!?
謝ったほうがいいよマジお前
謝れ謝れ謝れ謝れ謝れ!!
間違った事いってさーっせんしったあああでもいいから謝れカス
は?まだ?まだ謝れないのか??
じゃいつ謝んの?いつだよはぁ???
今謝れよ
今やればいいじゃん謝れよ
今からすぐ2chに書き込んで謝れ、全力で全身全霊で謝れ初心者!!
初心者は上級者様である俺に謝れゴラァ!!!!!!!!!!初心者謝れ!!!!
さっさしろよ!!!!!!!!!!!!!!!!!!!!!!
きいてんの??初心者謝れよ初心者
837デフォルトの名無しさん:2014/01/21(火) 21:51:22.34
>>826
コラ死ねゴミ
>>827
ほら死ねコラゴミ
>>832
お前もだよコラ死ねゴミ

【初心者】は【今】すぐ【謝って】【死ね】

ゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミwwwwwwwww
ゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwww↓ゴミwwwwwwwwww
wwwwwwwww>>831 ゴミ「オレオレ用語使うんじゃねー 」wwwwwwwwwwwww
↑死ねゴミwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
ゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミwwwwwwwwwwwwwwwwwwwwwwww
838デフォルトの名無しさん:2014/01/21(火) 21:53:08.98
あの〜、楽しく罵り合ッてる最中すいませんが、どなたか
>>763の疑問と対処方法をおしえていただけないでしょうか。
839デフォルトの名無しさん:2014/01/21(火) 21:54:58.19
scanf("%c",&moji);
840デフォルトの名無しさん:2014/01/21(火) 22:05:50.91
>>839
あ、そうか。文字列と1文字とではまた違ってたんだ。
ありがとです
841デフォルトの名無しさん:2014/01/21(火) 22:13:37.85
ちなみに犬は4種類の名前がついている
1チワワ
2シェパード
3秋田犬
4犬
842デフォルトの名無しさん:2014/01/21(火) 22:19:56.62
>>841 馬鹿発見www
843デフォルトの名無しさん:2014/01/21(火) 22:28:07.05
ちなみに犬には少なくとも次の三種類ある
1チワワ
2シェパード
3秋田犬
844デフォルトの名無しさん:2014/01/21(火) 22:42:43.24
4宮崎犬
845デフォルトの名無しさん:2014/01/21(火) 22:46:43.81
5負け犬uy
846デフォルトの名無しさん:2014/01/21(火) 22:57:38.64
通信を確立している2つのプログラムで、
片方はsend->recvの順に、もう片方はrecv->sendの順に呼ぶと問題ないのですが、
両方ともsend->recvの順に呼ぶと片方がrecvで固まる(データを受け取れない?)のですが、コーディングの問題なのでしょうか
847デフォルトの名無しさん:2014/01/21(火) 22:59:37.77
uyがご迷惑をお掛けして申し訳ありません。

2ちゃんねる運営より
848デフォルトの名無しさん:2014/01/21(火) 23:09:03.40
>>846
設定が分かりませんがWinsockのデフォルトの設定であれば正常です
コーディングが間違っていないから正常な動作をしていると考えられます

意味不明な書き込みはご遠慮ください
849デフォルトの名無しさん:2014/01/21(火) 23:27:05.07
衝撃!震災復興を妨害していたのは在日某国人?
http://www.youtube.com/watch?v=SI_Y3PHRzk4 /
850デフォルトの名無しさん:2014/01/21(火) 23:33:15.01
質問するレベルに達してないゴミだろ
基礎知識すらない初心者未満のゴミ
C言語でプログラミングできればあとはサンプル見ながらやれば何でもできると思った?
そういうのを思い上がってると言うんだよ
どうせソケット通信に関しては本一冊も読んでないんだろ
基礎知識もないゴミは身の程を知れ
基礎知識がない証拠に設定を何一つ晒してない
基礎知識があれば特定の動作を期待した設定をして、期待した通りに動かないなら
設定を併記したうえで質問するだろ
Cでプログラミングして単に実行ファイル作るだけならゴミでもできるんだよ
実行ファイル作れちゃったから「ボクチンでもいけるかもぉ〜?」とか思っちゃったんだろ
思い上がるなゴミ
851デフォルトの名無しさん:2014/01/21(火) 23:33:19.94
852デフォルトの名無しさん:2014/01/21(火) 23:44:59.41
>>840
たぶんもう見ていないだろうけど、「文字列と1文字とで」という違いじゃないんですよ。
値を、入力されたデータに書き換えるために、そのアドレスを渡しているんです。

あと(配列のことを言っているんでしょうけど)文字列を渡しているんじゃないんです。
書き込むメモリの先頭のアドレスを渡しているんです。

焦らずじっくりこの意味を理解された方があとで楽だと思います。
853デフォルトの名無しさん:2014/01/21(火) 23:50:09.26
>>835
大人しくC++の例外を覚えるのではなく、大人しくdeleteしたほうが……。
854デフォルトの名無しさん:2014/01/22(水) 00:03:20.50
>>853
ああ、確かにそれが一番大人しいですね……。
>>851
(・ω・)ありがとう
855デフォルトの名無しさん:2014/01/22(水) 00:03:57.44
>>813
× OSに全部任せちゃって欲しい
〇 ゴミアプリ作るくらいなら何も作らないで欲しい

メモリ管理すらまともにできない奴が世にソフトウェア公開するな
サイバーテロと同罪
856デフォルトの名無しさん:2014/01/22(水) 00:06:39.39
>>855
へーこの
        ゴミ

手動メモリ管理で、ソフトウェア作るのか

ゴミはGCすらないゴミ言語でソフトウェア作ってるのが確かにお似合いだからな
そのまま死ねゴミ
857デフォルトの名無しさん:2014/01/22(水) 00:08:08.09
>>854
(・ω・)死ねwwwwwwwwwwゴミwwwwwwwwwwwwwwww
ゴミwwwwwwwwwwww(・ω・)wwwwwwwwwwww
ゴミwwwwwwwwwwゴミwwwwwwwwwwwwwwゴミwwwwwwwwwwwwwww
(・ω・)ゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミ
ゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミ
858デフォルトの名無しさん:2014/01/22(水) 01:21:04.82
昔Luaでゲームの実装した時はやたらGCが重くて
足引っ張ってたからGC=重いってイメージがあるんだけど
今は方式変わってマシになってるのかな?
859デフォルトの名無しさん:2014/01/22(水) 02:55:48.65
質問していいレベルにすら達してないゴミのレベル
全自動でGCさせてんなら重くなるの当たり前だし
お前みたいにGCに全部メモリ管理任せて自動解放させてたら
それはどんだけPC進化したって無理に決まってんだろバカか

もう死ねよゴミ
自動解放はオフにしてリアルタイム性が要求されない場所でため込んだメモリ解放させんの当たり前だろ死ねゴミ
860デフォルトの名無しさん:2014/01/22(水) 04:17:27.75
ゴミゴミゴミゴミゴミwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
861デフォルトの名無しさん:2014/01/22(水) 05:24:47.46
アクションゲームってジャンプボタンを押す長さでジャンプする高さを調節できますが、あれってどうなってるんですかね?
ジャンプする高さは

y = -(1/2)gt^2 + vt

で与えられると思いますが、これは初速vによって最大の高さが決まってしまいます。
そしてジャンプ後に初速vを変更することはできません。
例えば私たちがジャンプしても足が地面から離れた瞬間に最大の高さは決定しています。
しかし、多くのゲームではそれができているようなのです。
なぜでしょうか?
ジャンプ後に初速を変更すれば、その瞬間に上向きに加速したように見えるはずですが、加速しているようには見えません。
ジャンプボタンの押し込みが0.1秒で小ジャンプ、0.2秒で中ジャンプ、0.3秒で大ジャンプというのも考えましたが、
そうするとボタンを押した瞬間にジャンプすることはないはずです。
どうなっているのでしょうか?
862デフォルトの名無しさん:2014/01/22(水) 05:33:27.68
>>861
アクションゲームは物理シミュレータじゃないんだからそれっぽければいいの。
それと、鼬害。
863デフォルトの名無しさん:2014/01/22(水) 05:36:42.11
>>861
押してる間はMax計算
864デフォルトの名無しさん:2014/01/22(水) 10:28:38.09
その借り物の計算式が本当に必要なのかどうかを考え直すところから
865片山博文MZコスモ ◆T6xkBnTXz7B0 :2014/01/22(水) 11:40:49.41
int*はvoid*に互換なのにint**がvoid**に互換ではない。
void*が特別なのか?
866デフォルトの名無しさん:2014/01/22(水) 11:44:26.64
お前の頭が特殊 ちょっと考えれば互換でないことは明白
867デフォルトの名無しさん:2014/01/22(水) 14:30:06.70
>>859
もちろん任意のタイミングで呼び出してたよ、そうじゃないとお話にならないレベルだし
ロード画面とか画面が固まっていいタイミングがなかったからなぁ
868デフォルトの名無しさん:2014/01/22(水) 15:32:25.68
つまりマルチスレッドも使えない低スキルということか
ゲームならマルチスレッド必須だろうに
869デフォルトの名無しさん:2014/01/22(水) 15:38:16.51
まくろってなあに?
870デフォルトの名無しさん:2014/01/22(水) 15:43:27.00
マルチスレッド環境下でのガベージコレクタを実装するとしたら
必要性の追跡や実開放作業下でスレッド排他をかけるような気がするが。。。
うまく潜り抜けれる方法があるのかもしれない
871片山博文MZコスモ ◆T6xkBnTXz7B0 :2014/01/22(水) 15:45:47.63
>>869
#define MACRO0 int a = 0
#define MACRO1(x) int b = (x) + 1
int main(void)
{
MACRO0; // int a = 0;に展開させる
MACRO1(2); // int b = (2) + 1;に展開される
printf("%d\n", a); // 0
printf("%d\n", b); // 3
return 0;
}
872デフォルトの名無しさん:2014/01/22(水) 15:55:21.84
>>862-864
ありがとうございます。
>>863さんのが目から鱗です。
初速を小さくするのではなく、初速を最大にしてジャンプを開始しておいて、
ボタンが離された時点で、ボタンが押されていた長さに応じて初速を下方修正するんですね。
確かにこれだと上向きには加速しないので不自然さが抑えられますね。
873デフォルトの名無しさん:2014/01/22(水) 16:23:07.08
ゲームって普通のアプリと違って設計が面倒
874デフォルトの名無しさん:2014/01/22(水) 16:59:16.66
ゲームが一番に複雑じゃないの?
875デフォルトの名無しさん:2014/01/22(水) 17:10:14.66
一番は言い過ぎ
ゲームが複雑なのはパフォーマンスを確保するために
ハードウェアに合わせた極限の最適化が必要だから
複雑さだけなら医療機器や自動金融取引プログラムの方が遙かに複雑
876片山博文MZコスモ ◆T6xkBnTXz7B0 :2014/01/22(水) 17:11:01.93
総称ポインタだけ扱いが違うんだね。
TYPE1がTYPE2に互換だったら、TYPE1*がTYPE2*に互換であってほしい。
D言語でも駄目だった。
877デフォルトの名無しさん:2014/01/22(水) 17:28:36.44
>>868
ゲームってもメタバース上への実装だから好き勝手できるわけじゃなかったからな
好き勝手できるなら素直にC++で開発したかったw
878デフォルトの名無しさん:2014/01/22(水) 17:34:17.61
ゲームでマルチスレッドって作りにくいんだよな
CPUのコア数やスピードで結果が変わるのは避けたいから
せいぜい描画スレッドだけ分ける程度しかできない
879デフォルトの名無しさん:2014/01/22(水) 17:35:09.11
RPGとかで攻撃を受けたキャラクターの上にダメ出るやつってダメの管理はどうしてるんだろうな
表示してる間(1〜2秒)は値をどこかで持っておかなければならない
キャラの構造体にそれ用のメンバを作っておいて攻撃を受けたらそこにダメの値を入れておくのかな
880デフォルトの名無しさん:2014/01/22(水) 17:38:33.42
ゲームの話はC言語関係ないのが多くなるよな

ゲームプログラムなら俺に聞け30
http://toro.2ch.net/test/read.cgi/tech/1388933972/
881デフォルトの名無しさん:2014/01/22(水) 17:39:01.11
表示するだけならキャラに関連付ける必要はないだろう
882デフォルトの名無しさん:2014/01/22(水) 17:39:35.48
>>878
CPUの性能でマシンガンの連射速度が変わるTPSがあったなw
もともとコンシューマ機で出たやつをPCに移植したからそのときの調整忘れだとは思うが、対戦では泣かされたw
高クロックCPUをOCしてる奴と撃ち合うとこっちの体力が一瞬で削られたw
883デフォルトの名無しさん:2014/01/22(水) 17:41:25.08
>>881
でもキャラの上に表示するから、どのキャラのダメージかはっきりさせておく必要があるだろう。
884デフォルトの名無しさん:2014/01/22(水) 17:43:40.37
>>878
AIも別スレだろ
885デフォルトの名無しさん:2014/01/22(水) 17:57:51.55
>>883
パーティクルと同じだろ
886デフォルトの名無しさん:2014/01/22(水) 17:58:40.97
ポインタについてなんですけど、int も float も4バイトですけど
同じものとして考えてOK?
887デフォルトの名無しさん:2014/01/22(水) 17:59:21.57
>>879
多段ヒットする技とかだと複数同時に、しかも位置をずらして表示する必要があるから、位置とダメージ数値と表示開始時間をメンバに持つ構造体の配列をキャラクタの構造体に持たせておく必要がある。
888デフォルトの名無しさん:2014/01/22(水) 18:01:02.22
>>887
お前エフェクトとかもキャラに持たせてんの?
889デフォルトの名無しさん:2014/01/22(水) 18:15:07.08
エフェクトはキャラだろ
890デフォルトの名無しさん:2014/01/22(水) 18:21:14.34
別に初心者なら初心者で良いけど、
>>889こういうゴミレス散らかす初心者はネットに自分の考えをばら撒くのをやめて貰いたいな
お前はまずゲーム作れていないのが【 エフェクトはキャラだろ 】この1レスだけで分かる
さっさと死ねゴミ
891デフォルトの名無しさん:2014/01/22(水) 18:31:50.60
2ch上ってアホが多すぎて手遅れになってるwwwwwwww
論外レベルとwwwww初心者レベルwwwwwwwww

で、入門書を最後まで読めたレベルがwwwwwww先生気取り出来るレベルwwwwwwwwww

それが2chのレベルwwwwwwwwww

オワタwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
892デフォルトの名無しさん:2014/01/22(水) 18:43:08.25
>>875
医療機器も金融自動取引も、ゲームプログラミングに包含されてねぇ?
組込系や金融周りのアルゴリズムだけ必須って印象
893デフォルトの名無しさん:2014/01/22(水) 18:46:16.89
>>877
3Dのゲームエンジン作りとか、じゃないのね
894デフォルトの名無しさん:2014/01/22(水) 18:51:45.87
>>891
はてなも、twitterも似たようなもんじゃん
895デフォルトの名無しさん:2014/01/22(水) 18:53:01.69
>>878
なる程
言われてみればその通りだな
知らなかったわ
896デフォルトの名無しさん:2014/01/22(水) 19:06:04.47
メモリーエラーツールとか使ってる人いる?
WindowsならBoundsChecker LinuxならValgrindが有名だけど
セカンドオピニオン的に複数使いたい
特にLinuxで動作する個人で買えるくらいの物が欲しい
正直この手のツール無しでまともに動くプログラムが書けないよ
897デフォルトの名無しさん:2014/01/22(水) 19:46:16.38
>>896
> 正直この手のツール無しでまともに動くプログラムが書けないよ
> 正直この手のツール無しでまともに動くプログラムが書けないよ
> 正直この手のツール無しでまともに動くプログラムが書けないよ

知的障害かおまえ・・・
898デフォルトの名無しさん:2014/01/22(水) 19:48:34.56
>>878
意味がわからないしwwwwwwwwwwww
>>895
何に納得したのかも意味がわからないwwwwwwwwwwwwww


なんだこのゴミスレwwwwwwwwwwwww
899デフォルトの名無しさん:2014/01/22(水) 19:52:15.43
>>897
まとも=訴訟リスクに耐えうる だろJK
900デフォルトの名無しさん:2014/01/22(水) 19:53:33.67
マルチスレッドのプログラムで、CPUのコア数やスピードで結果が変わるってのはバグなんじゃないの?
レース状態っていうやつ。
901デフォルトの名無しさん:2014/01/22(水) 19:57:33.24
ゲームの話だろ
ユーザの環境を見わけて見えないところで頑張ったって売り上げは変わんないw
902デフォルトの名無しさん:2014/01/22(水) 20:13:45.56
>>900
>>901
ゲームだろうがゲームじゃなかろうが
同期取れてないマルチスレッドとか、普通のアプリでもゴミ

いやまぁあるにはあるよ
例えばシーンAとシーンBを高速で行ったり来たりとか
処理速度落としながらシーン移動するとバグるゲームは
でもだからといってこれから新規でプログラム書いても良いよってなってるのに
どうして既存のゴミ設計の上にコードを書かなくてもいいのに、再度そんなゴミ設計のもとで作るぜって話になるかな
903デフォルトの名無しさん:2014/01/22(水) 20:14:53.38
頑張る頑張らないで言ったら
バグってない設計の元でゲーム作る方が頑張らなくて済むわ。。。どう考えてもな
904デフォルトの名無しさん:2014/01/22(水) 20:16:26.14
やばすぎるwwwwwwwwwwwwww
人類退化してんじゃねえのwwwwwwwwwwwwwwwwwwww
905デフォルトの名無しさん:2014/01/22(水) 20:17:35.51
ゴミwwwwwwwwwwwwww
ゴミwwwwwwwwwwwwwwwwwwwwwwww
ゴミゴミゴミwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
906デフォルトの名無しさん:2014/01/22(水) 20:22:38.93
低レイヤのミドルウェア書くことが無くなってからプログラマは退化しました
907xmalloc(爆笑):2014/01/22(水) 20:22:56.00
>>896
メモリアロケータを自前でラッピングしている
好きなタイミングでわざとアロケーションエラーを発生させられる点でも重宝している
908デフォルトの名無しさん:2014/01/22(水) 20:27:44.72
Valgrindって、gdbとどう違うの?
909デフォルトの名無しさん:2014/01/22(水) 20:31:20.12
あのうんこそのもののxmalloc www
あれなら机上デバッグの方が10万倍まし
910デフォルトの名無しさん:2014/01/22(水) 20:54:21.45
>>908
ぐぐれ
911デフォルトの名無しさん:2014/01/22(水) 22:06:51.13
うんこアロックw
912デフォルトの名無しさん:2014/01/22(水) 22:30:01.84
GCCの拡張とか無しで、関数の中で匿名関数って書けませんか?
913デフォルトの名無しさん:2014/01/22(水) 23:14:51.63
っC++
914デフォルトの名無しさん:2014/01/23(木) 00:01:53.51
Cで書きたいんです。
外の変数にアクセスしたりできなくて構わないです。

qsort(data, length, sizeof(data_t), int (const void* v1, const void* v2){
   return v1 < v2 ? 1 : v1 > v2 ? -1 : 0; /* 降順。 */
});

関数内だけで使う独自ルールを記述するのに、
こんな感じでその場で書けると、便利だし修正も簡単で良いなと思ったもんで。
915デフォルトの名無しさん:2014/01/23(木) 01:44:58.49
>>914
無理。
916デフォルトの名無しさん:2014/01/23(木) 01:54:51.42
>>915
うっす。どうもです。
917デフォルトの名無しさん:2014/01/23(木) 02:01:02.14
関数内で関数は定義できないし、別に定義した関数のポインタを渡すしかないな。
918デフォルトの名無しさん:2014/01/23(木) 03:01:41.72
>>909
どういう点がうんこだと思ったの?
919デフォルトの名無しさん:2014/01/23(木) 04:04:08.42
シームレスなマップ移動のゲームとかだとマルチスレッドにして後ろでマッピ読み込んでるだろ
920デフォルトの名無しさん:2014/01/23(木) 10:07:21.63
別にマルチスレッドじゃなくてもイベント管理がしっかりしていれば後ろで読み込めるけどな。
921デフォルトの名無しさん:2014/01/23(木) 10:44:09.98
mmorpgの通信部分はマルチスレッド。
通信はtcpで非同期。
922デフォルトの名無しさん:2014/01/23(木) 12:35:08.39
>沸騰水型原子炉の加圧水型原子炉に対する優位性はどこにあるのでしょうか?
沸騰水型原子炉は、減速材として封入している原子炉格納容器内の軽水を直接加熱、それを蒸気として原子炉格納容器外に引き出しタービンをまわすものです。
放射能を十分に帯びた減速材が一次冷却材を兼ねており、減速材でタービンを回す点が利点にも欠点にもなります。
すなわち効率上昇、仕組みが単純なため建設費が安くすむ一方、設備への放射能汚染が高くなり日常の保守作業における被爆量が高くなる欠点があります。

>沸騰水方原子炉における主蒸気隔離弁の重要性はどのように位置付けられるのでしょうか?
原子炉格納容器からの蒸気流量を調整する役割を担っています。
原子炉緊急停止(原子炉スクラム)の際は、炉内に制御棒を挿入すると同時に主蒸気隔離弁が放射能の濃厚な蒸気を遮断する一連のシーケンスを構成しています。

>主蒸気隔離弁の破断をどのように評価すればいいのでしょうか?
主蒸気隔離弁は、原子炉緊急停止時の安全を保障する装置群の一環でありいかなる場合であっても破断は許されません。
今回破断した炉について安全強度が不足していることを示唆する事例といえます。

なお、日本全国の沸騰水型原子炉すべてについて原子炉緊急停止に必要な強度が不足している懸念を示す解釈も可能です。
923デフォルトの名無しさん:2014/01/23(木) 13:52:30.27
2Dアクションゲームのステージで地面に傾斜が付いてる部分ってどうなってる?
初代マリオみたいに傾斜がなければブロック単位で処理すればいいんだろうけど、傾斜が付いてたらどうすればいいのかと思って
やっぱりブロック単位で地面の傾斜情報もたせてキャラの接地点を計算してる?
それとも地面に沿って直線引いて、キャラから下向きの直線との交点を接地点にしてる?
924デフォルトの名無しさん:2014/01/23(木) 14:11:42.65
後者のそれも傾斜情報が必要だと思うけど
925デフォルトの名無しさん:2014/01/23(木) 15:34:05.37
ゲームプログラムなら俺に聞け30
http://toro.2ch.net/test/read.cgi/tech/1388933972/
926デフォルトの名無しさん:2014/01/23(木) 18:17:35.44
>>924
地面に沿った直線が傾斜情報なんじゃないのかね
927デフォルトの名無しさん:2014/01/23(木) 18:49:16.37
いや、角度によってはキャラが滑り落ちたりするだろ
それとも75度の傾斜でも普通に立てるゲームか?
928デフォルトの名無しさん:2014/01/23(木) 19:10:56.18
はぁ?
じゃぁ3dはどうすんの?
傾斜情報なんてねーだろ
当たり判定用のローポリ地面モデルがあるだけだろーが
当たり判定用のモデルと鉛直方向の直線との交点が接地点
分かる?
929デフォルトの名無しさん:2014/01/23(木) 20:21:42.99
既成のゲームエンジンに個人が追いつけるかぐらい考えろよ
930デフォルトの名無しさん:2014/01/23(木) 20:23:21.84
>>928
逃げるなよ。
傾斜で滑り落ちるのはどうするの?
931デフォルトの名無しさん:2014/01/23(木) 20:26:39.16
box2d.jsのコードを読む
932デフォルトの名無しさん:2014/01/23(木) 20:27:33.30
C言語ってタンジェントも計算できないのか
933デフォルトの名無しさん:2014/01/23(木) 20:28:43.55
え?出来ないの?atanから変換するんだっけ
934片山博文MZコスモ ◆T6xkBnTXz7B0 :2014/01/23(木) 20:33:54.10
そう、atan2で傾斜から角度が得られる。
角度がわかれば垂直抗力も計算できるので、後は力学の問題となる。
935デフォルトの名無しさん:2014/01/23(木) 20:44:30.59
タンジェントは計算するんじゃなくてテーブルから引っ張ってくるだろう女子高生
40cpucycle使うからな
936デフォルトの名無しさん:2014/01/23(木) 21:02:12.32
>>915
は?無理って何?初心者に嘘教えんな
死ねゴミ
十六進数にして文字列として埋め込む形の関数定義なら出来る
したらその文字列を関数型でキャストすりゃクロージャに出来るわけで
なんで無理だと思ったのか意味がわからないマジでゴミ
お前みたいな奴は死ねよゴミ
937デフォルトの名無しさん:2014/01/23(木) 21:28:39.84
いや、タンジェントなくてもプレイヤーが立ってる位置の傾斜は計算できる
開発時に紙上で計算して定数とかにして組み込めばいい
滑り落ちる角度が30度なら0.577くらいか
これを定数にしてぶちこんでおけ
テーブルも不要
938デフォルトの名無しさん:2014/01/23(木) 22:38:22.98
その程度も出来ないとかマジで田植えから始めて文明作り直したほうがマシなレベル
939片山博文MZコスモ ◆T6xkBnTXz7B0 :2014/01/23(木) 22:43:55.75
940デフォルトの名無しさん:2014/01/23(木) 22:49:43.65
941片山博文MZコスモ ◆T6xkBnTXz7B0 :2014/01/23(木) 22:52:35.86
現状では無理。C++11使え
942デフォルトの名無しさん:2014/01/23(木) 22:55:16.15
>>937
意味不明。
943デフォルトの名無しさん:2014/01/24(金) 00:05:59.89
>>942
プレイヤーの接地点から各方向のタンジェントを求めて0.577以上であれば30度以上だと判断できる

プレイヤーの接地点から半径30センチの円の上に等間隔に8点を取り、それぞれの点についての高さを計算する
例えばプレイヤーの接地点を中心とした半径xセンチの円上にある点Aの高さをhセンチ、プレイヤーの接地点の高さをYセンチとすると、
if ( y > Y ){
  if ( (y-Y)/x > 0.577 ) printf( "A点へ向かって30度以上の上り坂です" );
}else{
  if ( (Y-y)/x > 0.577 ) printf( "A点へ向かって30度以上の下り坂です" );
}
より正確に判定したければ8点だけじゃなく16点とか32点で判定すればよい
944デフォルトの名無しさん:2014/01/24(金) 01:49:03.99
sin cos tanのそこら辺理解してない奴とかマジでゴミがマシに見えてくるレベル
ちなみに俺は、学校をサボりすぎた為にsin、cosを習っていない状態でテストを受ける事になったが
テストの中の僅か20分でsinとcosを発明して独自の式で問題を解いた実績がある
945デフォルトの名無しさん:2014/01/24(金) 02:36:50.97
学校の頃の成績を自慢する大人ってとてもかっこいいと思います
946デフォルトの名無しさん:2014/01/24(金) 05:37:35.56
>>945
ちなみに数学だけはどんだけ学校をサボっても赤点を取った覚えはない
あ、他にも体育はとってないな、
数学、体育以外の教科は、ゼロまたはイチのオンパレード

それが俺様の学生時代
947デフォルトの名無しさん:2014/01/24(金) 07:30:31.53
バカにされてるのにさらに続けるってどういう神経してんのw
948デフォルトの名無しさん:2014/01/24(金) 08:18:29.39
ageレスは釣り、って近所の小学生が言ってた
949デフォルトの名無しさん:2014/01/24(金) 09:41:26.97
2chでは上げたくない場合にsageと書く
つまり上がるのがデフォルト

sageを憶えたての初心者は100年ROMってろ
950デフォルトの名無しさん:2014/01/24(金) 10:46:42.65
うーん、三角関数は確かに自力で誘導可能だけど、流石に積分公式はなんともならなくて赤点だったなぁ。
951デフォルトの名無しさん:2014/01/24(金) 12:17:11.74
void WaitN(uint32_t ticks)
{
mrt_counter = 0;
while(mrt_counter < ticks);
}

int main(void)
{
WaitN(500);
}

このwhileの書き方で500ステップ分のウェイトかかる?
952デフォルトの名無しさん:2014/01/24(金) 12:26:32.78
減らせ
953デフォルトの名無しさん:2014/01/24(金) 12:28:07.41
聞きたいのは、この書き方で、ticksは減算される?
954デフォルトの名無しさん:2014/01/24(金) 12:51:38.48
全体、何がしたいんだ?
955デフォルトの名無しさん:2014/01/24(金) 14:42:30.93
質問に質問で返す間抜け
956デフォルトの名無しさん:2014/01/24(金) 14:58:35.79
せめて
while(mrt_counter < ticks) ticks--;
これぐらい書かないとな


コンパイラの最適化で、実際のコードは切えて無くなるかも知れない
957デフォルトの名無しさん:2014/01/24(金) 15:03:30.56
ゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミwww
958デフォルトの名無しさん:2014/01/24(金) 16:08:14.67
>>956
逆にticks--;無しで減算されるとは思えんが
959デフォルトの名無しさん:2014/01/24(金) 16:25:04.08
そうだね、これは最適化が問題になる
Debug -> Release これだけで氏ねる
960デフォルトの名無しさん:2014/01/24(金) 16:58:38.35
いや、なんか、結論出たみたいな空気になってるけど
質問に対する回答になってないぞ

923:デフォルトの名無しさん :2014/01/23(木) 13:52:30.27
2Dアクションゲームのステージで地面に傾斜が付いてる部分ってどうなってる?
初代マリオみたいに傾斜がなければブロック単位で処理すればいいんだろうけど、傾斜が付いてたらどうすればいいのかと思って
やっぱりブロック単位で地面の傾斜情報もたせてキャラの接地点を計算してる?
それとも地面に沿って直線引いて、キャラから下向きの直線との交点を接地点にしてる?
961デフォルトの名無しさん:2014/01/24(金) 17:02:23.08
mrt_counter のほうが volatile で勝手にカウントアップする何か
かもしれないと考える

例えば、直接アドレス指してアクセス。 つながってるボードが勝手にカウントアップとか
#define mrt_counter (*(int *)どこぞのアドレス)

こういう時 volitile 指定は効くのかな?
#define mrt_counter (*(volalite int *)どこぞのアドレス) /* 最適化するなよワレ */
962片山博文MZ無能 ◆T6xkBnTXz7B0 :2014/01/24(金) 17:03:35.60
ブロック単位ってめんどくさい。当たり判定が楽な方がいいじゃん
963片山博文MZ無能 ◆T6xkBnTXz7B0 :2014/01/24(金) 17:11:35.59
線分と線分の当たり判定を勉強したんだろう?
それを応用するだけじゃん
964片山博文MZ無能 ◆T6xkBnTXz7B0 :2014/01/24(金) 17:22:12.25
「volatile 使い方」でググれ
965デフォルトの名無しさん:2014/01/24(金) 17:24:36.73
>>961
効くには効くが volatile は遅延を保証はしないので解決にはならない
むしろ、解決したかに見えて誤解したままリリースするのが最悪
966デフォルトの名無しさん:2014/01/24(金) 22:17:23.20
おお、まさにこんなスレを探してた…!
初心者ってか今から学び始める準備してるんだけど(ほかの言語勉強したこともない)
「学習用C言語開発環境」ってソフトよさそう?なんか怖くてダウンロードしてない
「.NET framework 2.0」が必要って書いてあるけど、これがなんなのかすらggってもよくわからん。
よくわからんから、なんかどっちも怖くて入れれずにいる…。お察しの通り頭悪いです。
いいものなんだよね?怪しくないよね??スレチだったらごめん
967デフォルトの名無しさん:2014/01/24(金) 22:19:55.22
それが何かは知らんが、「苦しんでおぼえる」と書かれているのにいいのか?w
968デフォルトの名無しさん:2014/01/24(金) 22:21:29.37
つーか、.Netが必要ってことが理解できない位パソコンの知識がないのに
何かをインストールしようとするなんて、馬鹿を通り越している。
969デフォルトの名無しさん:2014/01/24(金) 22:23:26.66
>>967
すこぶる頭悪いからどこみてもどうせ苦しむんだよ…

>>968
そのとおり。だから聞いてみた。
フリーソフトとかほとんどインストールしたことないんだよ…
970デフォルトの名無しさん:2014/01/24(金) 22:34:10.56
WindowsならC#辺りから始めた方が良いんじゃないかな
一見同じ様に見えるしむしろCの方が単純に見えるかも
知れないけど、初心者がつまずくポイント山ほどあって
イバラの道だぞ
971デフォルトの名無しさん:2014/01/24(金) 22:39:47.43
>>970
おお、ありがたい。winです。
ちょっと事情あってCは必須だからまずC覚えてからほかの言語かな〜と
思ってたんだけど… C#→Cの方が簡単なのかな?

あ、>>966,969はわたしです
972デフォルトの名無しさん:2014/01/24(金) 23:25:48.91
C#の方が圧倒的に簡単だから、まずはそっちでプログラミングとは
どういうものかを学んだ方がいいかもな。
973デフォルトの名無しさん:2014/01/24(金) 23:31:13.09
C の方が言語把握する程度なら簡単だろ。
やりたいことの実現が簡単なのはC#だが。
974デフォルトの名無しさん:2014/01/25(土) 00:37:05.43
今日日、初心者がcなんて使って何を作るんだよ
975デフォルトの名無しさん:2014/01/25(土) 00:50:34.05
ゲームに決まってるだろ

そんなことより、きょうびって活字で見かけることが少ないから違和感感じるな
976デフォルトの名無しさん:2014/01/25(土) 00:57:39.42
ゲームならUnityで良いし、業務アプリも.NETで良いし、
やるならデバドラなんかの組込み系ぐらいだろカス。死ねよ
977デフォルトの名無しさん:2014/01/25(土) 01:03:14.75
ガチでやろうとしたら15万出してUnity Proとか買わなきゃならないだろ。
C(DirectX用にC++)で十分。
ステマはさっさと消えろ。
978デフォルトの名無しさん:2014/01/25(土) 01:15:25.80
相変わらず間違いだらけの糞サイトだな<苦(そ)C
979デフォルトの名無しさん:2014/01/25(土) 01:23:03.56
頼る足場は必ず自分で作って確かめるポリシーには賛同するが
そこにいささかでも傷があるとゴミ以外の何物でもなくなる
980デフォルトの名無しさん:2014/01/25(土) 01:28:21.20
初心者にCなんか勧めるのはコチコチ脳の老害
困ったときにすぐ相談できる相手がいなければ詰み
981デフォルトの名無しさん:2014/01/25(土) 01:34:36.24
>>977
ガチでやるようなら就職するだろう
982デフォルトの名無しさん:2014/01/25(土) 02:55:43.05
プロよりも同人勢のほうがガチ

たまにプログラミングとは関係ない人生歩んでるくせに20歳前後で
そこそこのゲーム作っちゃう奴
983デフォルトの名無しさん:2014/01/25(土) 03:01:30.83
何故、同人ゲーで、そこそこのものが作られるか?ってのは、
複雑に絡んだ些細な問題を考えずにゲーム開発にだけ専念できるから
984デフォルトの名無しさん:2014/01/25(土) 03:03:24.80
>>983
いやそこはやっぱ、代え難い情熱があるから、と言ってあげたいね。
985デフォルトの名無しさん:2014/01/25(土) 04:31:35.22
>>981
就職したら好きなゲーム作れないじゃん
986デフォルトの名無しさん:2014/01/25(土) 05:45:31.09
というか「仕事」にするなら好きかどうかより、得意ジャンルだよな
好きと得意がイコールじゃないとか良くある
987デフォルトの名無しさん:2014/01/25(土) 11:05:46.17
ゴミゴミゴミゴミゴミゴミゴミwwwwwwwwww
988デフォルトの名無しさん:2014/01/25(土) 12:26:03.29
strcat()などのある型へのポインタを返すの使い方がわからないのでおし得てください。
strcat(str1, str2);
としてしまえば、str1はstr2の結合された文字列を得られるのに、わざわざcharへのポインタを返すのは何故でしょうか?
989デフォルトの名無しさん:2014/01/25(土) 12:37:19.60
識別子の記述回数は無理なく少なければ少ないほどいいんだよ
言語でもライブラリでも
990デフォルトの名無しさん:2014/01/25(土) 13:02:53.66
991片山博文MZ無能 ◆T6xkBnTXz7B0 :2014/01/25(土) 13:18:14.72
アンパンマン、新しい顔ができたよ

連結リストライブラリ LinkedListInC
https://github.com/katahiromz/LinkedListInC
992デフォルトの名無しさん:2014/01/25(土) 14:45:07.86
>>962
>当たり判定が楽な方がいいじゃん
バカだろ
基準はゲーム開発ツールの開発が楽かどうかだろ
993デフォルトの名無しさん:2014/01/25(土) 15:45:20.86
オブジェクト指向なんて必要ないよね?
994デフォルトの名無しさん:2014/01/25(土) 15:57:49.34
そりゃぁあれば便利だけどなかったからといって困るということはない。
995デフォルトの名無しさん:2014/01/25(土) 16:08:20.08
まったく最近の若いもんときたら、
クラスがどうとか多態性がどうとか継承がどうとか
わけの分からんことばっかり言いやがって。
あのなぁ、プログラムってもんは一から一つずつ関数を積み上げていくんじゃ。
それもなぁ、一関数はせいぜい20から25行位内に収めろよってんだ。
老眼の俺には読めないような8ポ9ポのフォントで80行もある関数書いて、
端末一画面に収まるでしょっとか言うんじゃねぇ、ボケが!
996デフォルトの名無しさん:2014/01/25(土) 16:32:42.33
>>995
死ねwwwwwwwwwwwゴミwwwwwwwwwwwwwwwwww
ごみごみごみごみwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
997デフォルトの名無しさん:2014/01/25(土) 20:40:56.39
996 名前:あぼ〜ん[あぼ〜ん] 投稿日:あぼ〜ん
998デフォルトの名無しさん:2014/01/25(土) 20:45:42.65
997 名前:あぼ〜ん[あぼ〜ん] 投稿日:あぼ〜ん
999デフォルトの名無しさん:2014/01/25(土) 20:47:20.90
uy発狂
1000デフォルトの名無しさん:2014/01/25(土) 20:57:39.25
もういいよ。
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。