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

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

★前スレ
C言語なら俺に聞け(入門編)Part 122
http://toro.2ch.net/test/read.cgi/tech/1384663794/
★過去スレ
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デフォルトの名無しさん:2013/12/14(土) 00:38:11.23
理由が無いのでhogeは禁止されていません
あたかも合意事項で有るかのようにhoge禁止を壊れた録音機が如くリピートしている
気違いがいますが無視しましょう
3デフォルトの名無しさん:2013/12/14(土) 12:15:39.89
【重要】
hogeはガラパゴス化を助長するため禁止します、使用しないでください。
また、hogeを利用している人は普段からhogeを使用した文書を頻繁に読んでいる可能性が高いと考えられますが、
hogeを使用した文書には誤解を招く情報や間違った情報が書かれている場合がほとんどであるため、
hoge使用者の基礎知識やスキルもそうした誤った情報を元に構築されている可能性が非常に高くなっています。
つまり、話の噛み合わないことが多く、わざと頓珍漢な内容を書き込んで荒そうとしてる荒らしと区別がつきません。
よって、万が一hogeが書き込まれても、スルーしてください。
相手にするとあなたも荒らしと同じ扱いになります。
なお、hogeはNGワードに追加しておくことが強く推奨されています。
4デフォルトの名無しさん:2013/12/14(土) 12:19:06.86
995 デフォルトの名無しさん [sage] 2013/12/14(土) 11:45:45.22 ID: Be:
M個の一桁の数字(重複なし)からなるM桁の数字を
上位の桁から出来るだけ大きい数を選択する手順で順列にしたとき
n番目の数字を出力する関数を作成することは出来ますか?

たとえば M = 4 で 数字[2, 3, 5, 7] からなるとき n = 3 は
7532 ← n = 1
7523 ← n = 2
7352 ← n = 3
7325 ← n = 4
...
なので
int array[] = {2, 3, 5, 7};
int i = func(array, 4, 3);

i == 7352
となる func() が欲しいです

996 デフォルトの名無しさん [sage] 2013/12/14(土) 11:49:22.52 ID: Be:
関数の中で n 版目が出て来るまでループすると時間がかかるので
出来ればループを使わないで済む方法が知りたいです
5デフォルトの名無しさん:2013/12/14(土) 12:26:51.07
C言語の本でhoge使っててまともなのって一つもないよなw
ああいうのつかまされる初心者ってかわいそうw
6デフォルトの名無しさん:2013/12/14(土) 12:32:38.68
初心者でも情弱じゃなけりゃhoge本は避けるでしょ
7デフォルトの名無しさん:2013/12/14(土) 12:48:20.04
hoge本とかあるんや
8デフォルトの名無しさん:2013/12/14(土) 12:48:23.20
猫が好きだったからという理由で猫本から入った俺
正直読みづらかった
9デフォルトの名無しさん:2013/12/14(土) 12:59:07.28
hoge使ってる本って見事にまともな本が一冊もないけど、何か共通点ってあるのかね。
10デフォルトの名無しさん:2013/12/14(土) 13:11:44.13
hoge本は読みやすかった
読みやすいだけで価値はなかった

前言撤回
読みやすいだけで変な癖がつきまくったから
価値がないどころかマイナスだった
11デフォルトの名無しさん:2013/12/14(土) 13:25:17.94
>>4
nを0番から始めることにして、
n = n3*3! + n2*2! + n1*1!
n3 <= 3, n2 <= 2, n1 <= 1
を満たす n3, n2, n1 >= 0 を探す。
最初の桁は n3 番目に大きい数字、
次の桁は最初の桁を除いた n2 番目に大きい数字、
次はさらに二つ除いた n1 番目に大きい数字、
最後は残った数字。
桁数が増えても同様に。
12デフォルトの名無しさん:2013/12/14(土) 14:26:16.26
計算で求めるほうがループで求めるより時間がかかる気がする
13デフォルトの名無しさん:2013/12/14(土) 14:27:15.01
階乗進数か
14デフォルトの名無しさん:2013/12/14(土) 14:33:27.04
>>12
んなことねぇよ
各階乗で割って商と剰余を求めていくだけ
15デフォルトの名無しさん:2013/12/14(土) 14:57:53.76
16デフォルトの名無しさん:2013/12/14(土) 15:07:49.49
半年前くらいにサンプルでhoge使ってる本は全部処分した。
17デフォルトの名無しさん:2013/12/14(土) 16:15:10.66
>>11 >>13 >>15
階乗進法でぐぐったら出来ました
ありがとうございました
18デフォルトの名無しさん:2013/12/14(土) 16:47:34.29
前スレ >>965
やはり問題に不備があるようですが
出来る限り題意に沿うように
正しく動作するように修正しました
http://ideone.com/mpEJjy

しかし元データに重複があると失敗します><
http://ideone.com/SOCKxw
19デフォルトの名無しさん:2013/12/14(土) 19:05:44.44
20デフォルトの名無しさん:2013/12/14(土) 20:30:18.15
>>9
著者が日本人で、プログラマ挫折組。
21デフォルトの名無しさん:2013/12/14(土) 20:32:10.62
foo bar にすりゃいいの?
22デフォルトの名無しさん:2013/12/14(土) 20:35:20.60
著者が日本人なら同じくダメ。
ロベールはフランス人だからOK
23デフォルトの名無しさん:2013/12/14(土) 21:02:56.87
プログラミング関係じゃないけど、15年位前のFreeBSDか何かの本はhoge使ってたけどいい本だったよ
24デフォルトの名無しさん:2013/12/14(土) 21:08:29.00
hogeより接頭辞としてmyを使ってる方がクソだ
25デフォルトの名無しさん:2013/12/14(土) 21:33:23.49
MyHogeHoge(foo, var):
26デフォルトの名無しさん:2013/12/15(日) 00:22:31.05
20世紀はまともな本あったが
21世紀になってダメな本が増えた
perlのせいだ
27デフォルトの名無しさん:2013/12/15(日) 02:08:14.60
それを言うなら PHP だろ
28デフォルトの名無しさん:2013/12/15(日) 05:47:10.57
KENTのせいだろw
29デフォルトの名無しさん:2013/12/15(日) 14:19:56.75
hoge本に良本なんかないのに>>23みたいに理解したつもりになってる奴が一番迷惑。
その知識で会話に入ってこようとするからな。
本人に自覚も悪意もないから尚更始末が悪い。
30デフォルトの名無しさん:2013/12/15(日) 21:56:51.90
ちょっとコンピュータの仕組みの話になるんですが
データの容量とか配置ってのは物理的な容量、配置になるんですか?
それとも論理的な容量、配置になるんですか?
31デフォルトの名無しさん:2013/12/15(日) 21:59:11.14
「物理的」って意味が分かりません
何ですか?物理的って
32デフォルトの名無しさん:2013/12/15(日) 22:29:33.37
物理的容量、物理的配置、論理的容量は存在するが、論理的配置はない気がする
33デフォルトの名無しさん:2013/12/15(日) 22:35:52.97
>>32
プロセスごとにメモリ空間が独立してるのは論理配置じゃね?
34デフォルトの名無しさん:2013/12/15(日) 22:37:42.88
物理的容量・・・実際のハードウェアの容量
論理的容量・・・大きさに意味付けをしたうえでの容量
35デフォルトの名無しさん:2013/12/15(日) 23:24:37.70
RAIDだと、1TBのハードディスクを使っていても、アプリからは500GBに見えるとかは有るな。
36デフォルトの名無しさん:2013/12/15(日) 23:27:24.15
>>35
それUSBでもあるんだけど何でだろ?
HDDに渡したときと、USBにあるときと同じファイルの容量が違う
何故か?これ面接の時、問題で出されたわ
37デフォルトの名無しさん:2013/12/15(日) 23:50:15.40
ディレクトリとかも論理的配置だろ
38デフォルトの名無しさん:2013/12/16(月) 00:14:51.89
>>36
いやぜんぜん違う話だろ
セクタ長が違うんじゃね
39デフォルトの名無しさん:2013/12/16(月) 01:35:54.52
>>36
ファイルシステムじゃね?
40デフォルトの名無しさん:2013/12/16(月) 04:49:07.42
>>36
クラスタサイズの違いだね
41デフォルトの名無しさん:2013/12/16(月) 09:28:15.29
exFatって無駄に容量食い過ぎだよね
42デフォルトの名無しさん:2013/12/16(月) 11:37:30.72
物理/論理 的配置の例
http://ideone.com/ZuA77O
43デフォルトの名無しさん:2013/12/16(月) 12:19:19.73
初期値𝑎1を与えると数列の長さと最大値を返す関数collatzを定義せよ。ただし、この関数は数列の長さを関数の返り値とし、数列の最大値はポインタを通して返すものとする。したがって関数プロトタイプは次のようになるだろう。
int collatz(int a1, int *amax)
main関数では、初期値を2から100000の範囲で動かして数列を調べ、最長の長さを与える数列の初期値、その長さ、最大値を求めよ。

がわからん。教えてくだされ。
44デフォルトの名無しさん:2013/12/16(月) 12:36:07.78
>>43
何が分からんのか分からん。教えて下され。
45デフォルトの名無しさん:2013/12/16(月) 12:48:55.17
46デフォルトの名無しさん:2013/12/16(月) 12:49:23.74
>>44 プログラムが組めないのです
47デフォルトの名無しさん:2013/12/16(月) 12:55:44.68
>>45 for(;;)などはそのままでも良いのですか?
48デフォルトの名無しさん:2013/12/16(月) 12:58:12.27
>>47
いいよ。
したのstdoutのところが実行結果。
49デフォルトの名無しさん:2013/12/16(月) 13:04:04.11
まちがえた初期値a1を与えたらだ。
5045:2013/12/16(月) 13:07:51.64
他のスレに貼られてる回答と結果が違うな >>45 はバグってるかもしれん
51デフォルトの名無しさん:2013/12/16(月) 14:18:25.41
int型配列の場合、要素の数を最初指定しても、指定した数を超える添え字で
アクセスしても代入とかできますよね?
つまり要素の数を指定しても意味がなく、自分で配列の容量を超えたらエラー
になるような仕組みを実装しておかなければならないと思うのですが、そういう
のってどうやればいいんですか?
52デフォルトの名無しさん:2013/12/16(月) 14:24:18.03
mallocとアクセサ
53デフォルトの名無しさん:2013/12/16(月) 14:32:27.05
54デフォルトの名無しさん:2013/12/16(月) 14:55:07.69
>>51
#define hairetsu(a,b,c) char a_wsz[sizeof(size_t)+sizeof(a)*c];a*b=(a*)((char*)awsz+sizeof(size_t))
#define cksz(b,c) assert(*(size_t*)((char*)b-sizeof(size_t))>c),c

hairetsu(int,x,10);
x[cksz(x,10)]=0; // abort!
55デフォルトの名無しさん:2013/12/16(月) 15:20:00.51
cksz のような使い方する場合に必須なんだろうけど
カンマ演算子はキモイな
56デフォルトの名無しさん:2013/12/16(月) 16:59:30.65
もう一つ疑問なんですが、配列を宣言した時点でサイズが関係ないなら
宣言するだけで膨大な容量を確保してるという事になるんじゃないですか?
そうならば、それでも何個も配列を宣言できるのは何故でしょうか?
57デフォルトの名無しさん:2013/12/16(月) 17:06:27.33
いくつかの身長データから
人数、身長の最大、平均身長、身長の標準偏差を求めるプログラム教えてくわさい。
58デフォルトの名無しさん:2013/12/16(月) 17:07:11.60
>>54
ちょっと難しいけど使ってみたいと思います
59デフォルトの名無しさん:2013/12/16(月) 17:31:03.61
>>58
え!使うの?ソレ代入して無いし
インクリ副作用を無考慮だったわ

#define hairetsu(a,b,c) char b_wsz[sizeof(size_t)*2+sizeof(a)*(c)];a*const b=(a*)(&(*(size_t*)b_wsz=(c))+2)
#define cksz(b,c) assert(*((size_t*)b-2)>(*((size_t*)b-1)=(c))),*((size_t*)b-1)
60デフォルトの名無しさん:2013/12/16(月) 20:30:32.75
>>58
難しくて理解できないなら使わないほうが安全です
61デフォルトの名無しさん:2013/12/16(月) 20:56:04.50
「関数呼び出しの引数が多すぎます」というのはどういうエラーでしょうか?

メニューのプログラムからswitch文でそれぞれ登録、変更、削除、表示のプログラムに
飛ぶように作りたいのですが「関数呼び出しの引数が多すぎます」というメッセージが出てうまくいきません
62デフォルトの名無しさん:2013/12/16(月) 21:00:35.93
>>61
関数で指定されてる引数が2つなのに関数呼び出す時に3つ指定するとそんな感じのが出たような
とりあえず引数の数チェックしてみれば?
63デフォルトの名無しさん:2013/12/16(月) 21:01:59.18
>>61
・関数
・引数

こんな用語も分からないゴミには無理
なんで初心者用の書籍も全く読まずにやろうとすんの?
本当にゴミだな
64デフォルトの名無しさん:2013/12/16(月) 21:06:07.20
>>61
ここは日本語の入門スレじゃない、失せろ。
65デフォルトの名無しさん:2013/12/16(月) 21:06:55.19
>>56
簡潔にいえば、int a[10]と宣言して値を取得するときのa[0],a[1]…a[n]は、「配列のn個目の要素を取り出せ」という意味ではなく、
「アドレスaに4nを加えたアドレスにアクセスせよ」という意味だから(sizeof(int) = 4のとき)
例えばint a[10]に対してaを1000番地とすると、配列のために確保された領域は1000番地〜1039番地
このときa[10]=1040番地はaのために確保された領域ではないが、存在はするのでアクセスできる
当然この1040番地には何のデータが入ってるか分からないし、いつ書き換えられるのかもわからないので非常に危険

まあとりあえずポインタを勉強してみようぜ
66デフォルトの名無しさん:2013/12/16(月) 21:08:43.63
メッセージの示す行よりも前に、問題の本質がいたりすることもあるしー
67デフォルトの名無しさん:2013/12/16(月) 21:08:58.15
答えてやりゃいーだろそんくらい
プロトタイプと宣言の引数が一致しないか宣言と呼び出しが一致しないかのどっちかだと思うけど、どっちで出るエラーだっけか
68デフォルトの名無しさん:2013/12/16(月) 21:11:32.06
>>62
ありがとうございます
チェックしてみます
69デフォルトの名無しさん:2013/12/16(月) 21:12:03.12
「関数呼び出しの引数が多すぎます」で検索するという知恵は働かないのだろうか?
どえりゃー不思議だがね
70デフォルトの名無しさん:2013/12/16(月) 23:01:36.42
不思議だけど
馬鹿はハンディキャップ
って良い例
検索すらできない奴がプログラミングしようとしてる
71デフォルトの名無しさん:2013/12/16(月) 23:06:22.75
最近のム板なんてどこもそんな感じ
ググれば一瞬で理解できることを質問してくるから、
回答者はググったページの要点をまとめて答える係になってる
72デフォルトの名無しさん:2013/12/17(火) 00:09:20.56
ググってわからねーから聞くんだろ?
エラーメッセージだけで検索しても何が原因か特定するのは初心者には難しい
質問する奴はプログラム晒したほうが早いよ

答える方は「なんでこんなこともわからないの?」とか下らない煽り書かなくていいよ
ケチつけるのは誰でもできる
73デフォルトの名無しさん:2013/12/17(火) 00:50:09.30
>ググってわからねーから聞く
この時点で素質ゼロだよなw
ドキュメントの少ない20世紀ならいざ知らずw

>質問する奴はプログラム晒したほうが早いよ
そうだな、何の力もつかないけど早いよなw
早いとはいえ人として最低限のプライドもない乞食にしかできない芸当だけどw
74デフォルトの名無しさん:2013/12/17(火) 00:58:53.45
>>73
>★ソースコードを晒すと答えやすくなるかもしれません。
  # 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること。
  # サイズが大きい場合はアップローダ等を利用してください。

プライドというか>>1で推奨されてるけどな
プログラム晒すのは乞食にしかできない!と思うならスレから消えれば?
お前このスレに合ってないよw
75デフォルトの名無しさん:2013/12/17(火) 01:09:32.18
>>61
どんな関数をこさえたのか気になるw
いくつかのデータを構造体にまとめろ
76デフォルトの名無しさん:2013/12/17(火) 01:11:43.02
cygwinのgccを使っています。
コンパイルエラーが出て、修正をして再度コンパイルしたのですが、
以前と同じエラーを出します。
77デフォルトの名無しさん:2013/12/17(火) 01:15:14.48
76です。すいません。勘違いでしたので、忘れてください。
78デフォルトの名無しさん:2013/12/17(火) 01:16:42.27
エラーの内容は?
79デフォルトの名無しさん:2013/12/17(火) 01:17:47.48
忘れてください
80デフォルトの名無しさん:2013/12/17(火) 04:34:56.03
やだ。
81デフォルトの名無しさん:2013/12/17(火) 06:08:41.60
いったん質問した以上は
エラーの内容と何で解決したのか書くべき。
82デフォルトの名無しさん:2013/12/17(火) 08:21:04.60
いらね
83デフォルトの名無しさん:2013/12/17(火) 17:51:08.88
>>59
添字のレンジを気にするアホウを皮肉るネタかとおもたら・・・
本気だったのかw
84デフォルトの名無しさん:2013/12/17(火) 17:55:56.92
ARDUINOを使ってアナログ入力信号3つを、それぞれの信号の大きさで3段階に分けて3つのピンに出力させたいのですがまったくできません
お願いします

アナログIN→A/D変換→デジタルOUT
この動作を3つのピンでしたいのです
A0→D9
A1→D10
A2→D11
このピンになる様にしたいです
85デフォルトの名無しさん:2013/12/17(火) 18:40:54.28
>>84
Arduino初心者熱烈大歓迎質問スレ part10
http://uni.2ch.net/test/read.cgi/denki/1381233968/
86デフォルトの名無しさん:2013/12/17(火) 20:03:12.79
>>53
大文字にスネーク記法って、よく使われてるの?
ローマ字のマクロには気持ち悪さしか感じない
87 ◆QZaw55cn4c :2013/12/17(火) 20:08:56.98
特に可読性が落ちているわけでもないし
88デフォルトの名無しさん:2013/12/17(火) 20:31:08.11
スネーク記法とキャメル記法の混合みたいな気持ち悪さがある
89デフォルトの名無しさん:2013/12/17(火) 21:57:23.87
>>65
ありがとうございます。要素数を指定することは意味があるんですね。
90デフォルトの名無しさん:2013/12/17(火) 22:07:50.10
プログラム作るのって納期あるの?作ったらメールでコピペして
上司とかに送るの?
91デフォルトの名無しさん:2013/12/17(火) 22:16:37.96
>>90
納期はもちろんある。
週一でミーティングして進捗を報告。
たまに進捗率90%で進まなくなって「先週も90%だっただろ」って責められる。

ソースは共有フォルダにおいてるよ。
ソース管理ツールを導入してるところもあるけど、共有フォルダとの違いが理解できなくて
src_20131210
src_20131212
みたいなフォルダをリポジトリに登録してバージョン管理してる。
92デフォルトの名無しさん:2013/12/17(火) 22:20:28.13
>>91
まじですか、納期あるんだやっぱり
プログラムは機能通り動けばいいの?
全く関係無い変なコメント挟んでいても修正はせず?
93デフォルトの名無しさん:2013/12/17(火) 22:21:05.76
Subversionすら使ってない現場ってあったの?
素人の集まり以下があつまって、なに作ってる?
94デフォルトの名無しさん:2013/12/17(火) 22:26:08.54
>>92
納期があるのは当たり前だろ…
人を働かせればその間は成果があろうとなかろうと会社は給料を支払う義務が発生するんだよ
だから会社側は雇った人間に給料以上の仕事をさせなきゃいけないわけで、
従って納期を決めて成果を出させる必要がある
95デフォルトの名無しさん:2013/12/17(火) 22:28:32.31
給料いじょうの働きは、当然、返ってきません
96デフォルトの名無しさん:2013/12/17(火) 22:32:44.18
>>94
あることに驚きました。
プログラムのチェックはプログラマーがやるの?
プロジェクトマネージャーやシステムエンジニムーはチェックせず?
97デフォルトの名無しさん:2013/12/17(火) 22:35:38.26
>>96
コードレビューでチェックする
具体的にどういうことをするかは↓に書いてある
http://local.joelonsoftware.com/wiki/%E3%81%AF%E3%81%98%E3%82%81%E3%81%A6%E3%81%AEBillG%E3%83%AC%E3%83%93%E3%83%A5%E3%83%BC%E3%81%AE%E3%81%93%E3%81%A8
98デフォルトの名無しさん:2013/12/17(火) 22:36:47.87
エンジニムーわらった
99デフォルトの名無しさん:2013/12/17(火) 22:43:30.18
>>97
プロジェクトマネージャーもプログラミング分かってないとダメなのか
かなり厳しい職業だねITって
100デフォルトの名無しさん:2013/12/17(火) 22:43:44.44
あはは
101デフォルトの名無しさん:2013/12/17(火) 22:47:39.05
コードをかけない人がコードレビューをしてることとかよくある。
ちなみに今俺のPHPのコードをレビューしてる人は、たぶんPHPの入門書の一冊も読んだことがないと思う。
102デフォルトの名無しさん:2013/12/17(火) 23:00:26.13
そういえば、gtkの入門書のチェックを大学の教授がしてたなw
103デフォルトの名無しさん:2013/12/17(火) 23:04:34.27
カスタマーサポート部門なんて講義で作るようなコンパイラすら書かないよ。MVC何それって人。
104デフォルトの名無しさん:2013/12/17(火) 23:05:44.25
自分で仕事とってきた方がマシって業界
105デフォルトの名無しさん:2013/12/17(火) 23:10:26.52
>>95
給料いじょうの働きは、公務員がおいしくいただきます。
106デフォルトの名無しさん:2013/12/17(火) 23:11:37.20
>>99
マトモな神経ならIT業界のプロジェクトマネージャーなんて誰もやりたがらない
107デフォルトの名無しさん:2013/12/17(火) 23:56:28.52
Cで

boolean aaa[8][8] = {略};
boolean bbb[8][8] = {略};
boolean ccc[8][8] = {略};

という二次元配列をつくっていて、
この配列に添字でアクセスしたいと思ってます。

boolean **hairetsu[2] = {aaa, bbb, ccc};

でコンパイルが通らないんですがどーすればいいんでしょうか?
hairetsu[0]でaaaにアクセスしたいんです。
108デフォルトの名無しさん:2013/12/18(水) 00:04:45.11
hairetsu[3]
エラー出力を読めば良いと思います
109デフォルトの名無しさん:2013/12/18(水) 00:14:01.35
boolean(*)[8]をboolean**に変換できないっていう内容のエラーですが、
両方とも二次元のポインタだと思うんですが…

エラー内容読んでも少し分からなかったので
質問させて頂いてます…
110デフォルトの名無しさん:2013/12/18(水) 00:16:01.63
分割ファイルのメリットって何ですか?
C言語で作られたソフトウェアを構成するファイルってCファイル1つじゃなくて
何個もありますよね?1つのcファイルに纏めないんですか?
111デフォルトの名無しさん:2013/12/18(水) 00:19:02.66
まず、[2]じゃなくて[3]な。
二次元のポインタっていう概念はない。
ポインタのポインタと、配列へのポインタとは、まったく別物。
boolean (*hairetsu[3])[8] = {aaa, bbb, ccc};
112デフォルトの名無しさん:2013/12/18(水) 00:19:33.94
>>110
でかすぎるソースコードは人間には管理しいれない。
113デフォルトの名無しさん:2013/12/18(水) 00:20:34.17
>>110
ここは面接の想定質問をするスレじゃないんだ
114デフォルトの名無しさん:2013/12/18(水) 00:25:18.67
>>112
データをやり取りせずにCファイル同士でやり取りすることってありますか?
115デフォルトの名無しさん:2013/12/18(水) 00:37:51.02
あるかないかは君次第
116デフォルトの名無しさん:2013/12/18(水) 00:40:34.55
単一ファイルだとコードセグメントが64kb超えると
コンパイルできなくなるよ
117デフォルトの名無しさん:2013/12/18(水) 01:02:27.98
>>116
そんなi8086リアルモードライクな縛りが21世紀の今になってもあるとか、どんな呪いですか
118デフォルトの名無しさん:2013/12/18(水) 01:04:06.11
>>111
ありがとうございます!
無事動きました!
…が、この書式は自分の頭だとどうやっても出てこないですね…

結局、どんな型のポインタだろうと、
作った変数に入れるのはアドレスになるので、
hairetsuの中にはaaaの先頭アドレスと、bbbの先頭アドレスと、
cccの先頭アドレスだけですよね。

だったら
boolean *hairetsu[3] ={}
でいいような気がするのですがそうでもないんですよね。。。
この宣言を無理やり日本語に直すと
boolean型の変数のアドレス3つを入れる配列を宣言します、
ってことでいいんですよね。
それだと動かない理由がわからないです。。。

また、(*hairetsu[3])[8]は日本語に直すとどうなるんでしょうか?
ポインタ難しい…
119デフォルトの名無しさん:2013/12/18(水) 01:10:20.62
boolean hoge[8] = {}
120デフォルトの名無しさん:2013/12/18(水) 01:31:50.78
>>118
サイズ8の配列のポインタの、サイズ3の配列

ttp://sakurai.sumomo.ne.jp/page/c_pointer

hairetsu is an array of pointer to an array of int.
hairetsuはpointerのarray(サイズ3)です。pointerはそれぞれ、intのarray(サイズ8)を指します。
121デフォルトの名無しさん:2013/12/18(水) 01:32:38.33
あ、intじゃなくてbooleanだったね
122デフォルトの名無しさん:2013/12/18(水) 01:56:03.54
>>118
>また、(*hairetsu[3])[8]は日本語に直すとどうなるんでしょうか?

>>120 の↓理解しておいて
>hairetsu is an array of pointer to an array of int.

下手に日本語にしない方がいいような気がする。
123デフォルトの名無しさん:2013/12/18(水) 01:58:31.62
>>120
なるほどぉぉぉ!
そうやって理解していけばいいんですね。
ちょっと頭がスッキリしました。
次からは自分で考えていけそうな気がします。
ありがとうございました!
124デフォルトの名無しさん:2013/12/18(水) 02:49:51.69
うぜぇ
125デフォルトの名無しさん:2013/12/18(水) 02:51:58.50
こういう慇懃無礼なウンコはリアルで相手にしたくないね!
126デフォルトの名無しさん:2013/12/18(水) 04:55:01.14
typedef (void)*piyo(int,int) [あってたっけな?]
みたいな関数ポインタはわかるんだけど
スレ見てると、俺には、ゆっくり見て紙に書かないと
理解できない関数ポインタをよく見るけど
実際の話、そうゆう関数ポインタってよく使うものなんですか?
127 ◆QZaw55cn4c :2013/12/18(水) 04:58:04.71
>>126
qsort() に渡す関数ポインタがそらで出てくればそれで十分だ後その typedef は要らん
128デフォルトの名無しさん:2013/12/18(水) 10:50:15.80
>>126
関数ポインタを引数にとる関数をダイナミックロードするなんてのは良くある。

Qzはレス禁止
129デフォルトの名無しさん:2013/12/18(水) 10:59:57.95
関数を実行時に定義&インスタンス化したいのですが
どんな方法がありますか?
130デフォルトの名無しさん:2013/12/18(水) 11:00:36.60
DLL
131デフォルトの名無しさん:2013/12/18(水) 11:15:17.49
>>129
system("cc hoge.c");
system("a.out");
132デフォルトの名無しさん:2013/12/18(水) 11:38:44.86
>>130
それは既に定義済のものしか使えないですよね?

>>131
ああそうか
FILE *p = fopen("hoge.c", "wb");
fprintf(p, "int main(){return 0;}");
fclose(p);
system("cc hoge.c");
system("a.out");
でいけました
ありがとう
133デフォルトの名無しさん:2013/12/18(水) 11:40:42.20
>>132
>>131 の方法で実行時にDLLを作れば医院で内科医
134デフォルトの名無しさん:2013/12/18(水) 11:41:52.27
Ruby のメタプログラミングは eval でやってる(キリっ
とか言ってた馬鹿か
135デフォルトの名無しさん:2013/12/18(水) 11:43:44.94
>>133
再定義のときDLLってアンロード出来るんだっけ?
136デフォルトの名無しさん:2013/12/18(水) 11:52:34.46
LLVMでJIT
137デフォルトの名無しさん:2013/12/18(水) 12:17:55.77
v8
138デフォルトの名無しさん:2013/12/18(水) 12:25:29.16
Ruby
139デフォルトの名無しさん:2013/12/18(水) 18:38:26.44
>>132
二度とくるなよ基地害
140デフォルトの名無しさん:2013/12/18(水) 18:40:31.20
Cython
141デフォルトの名無しさん:2013/12/18(水) 20:00:08.80
>>126
signal, signal handler
142デフォルトの名無しさん:2013/12/18(水) 20:16:53.82
>>132
よくそんな恥ずかしいコードを晒せるな
さすがです^^
143デフォルトの名無しさん:2013/12/19(木) 10:21:31.86
おまいも成長したな
144デフォルトの名無しさん:2013/12/19(木) 17:38:52.26
コンピュータの最小単位の動き(機械語による動作)って
シフトと反転だけですか?
145デフォルトの名無しさん:2013/12/19(木) 18:40:44.18
>>144
NOP
146デフォルトの名無しさん:2013/12/19(木) 18:51:20.76
乗算が1命令でできても、それは最小単位じゃないのかよ
147デフォルトの名無しさん:2013/12/19(木) 18:57:30.20
関数の中に関数のプロトタイプ宣言をするのは何か意味が
ありますか?
148デフォルトの名無しさん:2013/12/19(木) 19:04:22.19
その関数の中でしか使わないのなら、そのことが明示されるので、
そういうことをするのもアリかと。
でもたいがいは頭に全部並べるかヘッダーを#includeしちゃうよね。
149デフォルトの名無しさん:2013/12/20(金) 01:41:30.45
sleep
150デフォルトの名無しさん:2013/12/20(金) 06:03:51.83
>>147>>148
つーかあれだ、c89以前の習慣の名残りとも言えるね。
今だと下請け関数を作ったらそのプロトタイプをヘッダファイルに
書いておいてそれをインクルードするのが当然だけどね。
151デフォルトの名無しさん:2013/12/20(金) 13:36:28.80
n個の実数x(i)をキーボードから読み込み、それらの平均と標準偏差を出力するプログラムを作りなさい。ただし、n個の実数の平均を求める関数mean(size,x[ ])と標準偏差を求める関数stdev(size,x[ ])を定義し、これを用いること。
がわかりませぬ。どなたか教えてください。極力簡単に仕上げて欲しいです・・・
152デフォルトの名無しさん:2013/12/20(金) 15:00:54.39
こういうの初心者はすぐに標準入力から読むのを作っちゃうけど
それだとキーボードとは限らないから。
マウスとかパイプかもしれないから
153デフォルトの名無しさん:2013/12/20(金) 15:09:47.74
こういうの自称中級者はすぐにわけのわからない機能をつけたがるけど
そんなもの必要とは限らないから。
おぼえたてのちしきじまんいらないから
154デフォルトの名無しさん:2013/12/20(金) 15:49:54.58
基本情報の勉強してるんですが値を返さないサブルーチンは
プロシージャ、返すのを関数(ファンクysん)とかいてありました、これは本当ですか?
これはC言語の話ではないのでしょうか?
155デフォルトの名無しさん:2013/12/20(金) 15:52:08.03
あえて言えばPASCAL
algolとかPL/Iとか言うひともいる
156デフォルトの名無しさん:2013/12/20(金) 15:56:21.52
>>154
呼び分ける場合もあるし分けない場合もある
そもそも呼び方や名前は言語によってまちまち
とりあえず試験用と割り切っておぼえるしかあんめぇ
157デフォルトの名無しさん:2013/12/20(金) 15:57:01.10
C言語の関数は実際にはすべて戻り値がある
戻り値が無いときはvoid型のアキュムレータ値を返す
158デフォルトの名無しさん:2013/12/20(金) 16:13:21.61
cの時にはvoid型の変数を返してるんですね
159デフォルトの名無しさん:2013/12/20(金) 16:17:34.37
C言語では変数を返すのは不可能
160デフォルトの名無しさん:2013/12/20(金) 16:20:52.44
>>159
??
161デフォルトの名無しさん:2013/12/20(金) 16:23:14.66
>>160
「変数」
162デフォルトの名無しさん:2013/12/20(金) 16:24:35.19
変数を返す?
163デフォルトの名無しさん:2013/12/20(金) 16:27:17.33
値を返すわけでもなく 変数への参照を返すわけでもなく 変数を返す
164デフォルトの名無しさん:2013/12/20(金) 16:31:00.34
そんなことができる言語あるんですか?
165デフォルトの名無しさん:2013/12/20(金) 16:33:49.12
関数の結果が無名変数になるものならあるでしょ
166デフォルトの名無しさん:2013/12/20(金) 16:34:43.57
知らんけど実装としてあっても不思議ではないと思う
167デフォルトの名無しさん:2013/12/20(金) 16:35:12.03
>>164
関数型言語ならできるのが当たり前というか
できないと関数型言語ではない
168デフォルトの名無しさん:2013/12/20(金) 16:52:39.76
100以上の数の個数が何個あるかを調べるプログラムを作りました

#include<stdio.h>
main(){
int a[]={98,99,100,101,102,103};
int i,j=0;
for(i=0;a[i];i++){
if(a[i]>100)j=j+1;
}
printf("100以上の数字は%d個です",j);
return 0;
}

としたら「100以上の数字は7個です」
と出るのですがなぜでしょうか
169デフォルトの名無しさん:2013/12/20(金) 16:53:28.28
え?
変数を返す?

int foo(){
   int bar;
   bar = 7;
   return bar;
}

例えばこれは変数じゃなくて値を返してるよね?

って書いてみたけど
俺が言いたいのはそこじゃない
具体的なコードを出して議論しろ池沼共
170デフォルトの名無しさん:2013/12/20(金) 16:53:57.13
Cは構造体返せなかったんだっけ?
171デフォルトの名無しさん:2013/12/20(金) 16:55:29.25
>>167
あれ変数と呼んでいいんですか。
ただのエイリアスだと思ってました。
172デフォルトの名無しさん:2013/12/20(金) 16:57:01.18
a[0] = 98 a[1] = 99 a[2] = 100 a[3] = 101
a[4] = 102 a[5] = 103
a[6] = 不明 a[7] = 不明

a[i] が非0 の間ループ回せと書いているが 肝心の終端が設定されてないから
たまたま止まっただけ

int a[] = { 98,99,100,101,102,103, 0};

にすれば結果はかわるとおもうよ?
173デフォルトの名無しさん:2013/12/20(金) 16:59:29.89
>>172
ありがとうございます
174デフォルトの名無しさん:2013/12/20(金) 17:03:39.91
ポインタ返しは変数返しでは?

int x(){};
だと確かに変数ではなくて「変数の値」を返していますが
ポインタ返しは、「変数の住所」なので変数返しと同値かと。
175デフォルトの名無しさん:2013/12/20(金) 17:14:01.43
>>174
基礎
176デフォルトの名無しさん:2013/12/20(金) 17:49:11.31
if (a[i]>100) で数え上げしてるなら「100を超える数字の数」
「100以上の数字の数」なら if (a[i]>=100) で数え上げる
俺的に
177片山博文MZコスモ ◆T6xkBnTXz7B0 :2013/12/20(金) 17:57:18.28
ポインタは無効なアドレスを指してることもある。ヌルポ
178デフォルトの名無しさん:2013/12/20(金) 18:05:15.03
この変数はお返しいたします
179デフォルトの名無しさん:2013/12/20(金) 18:07:54.48
いえいえ、お引き取り下さい。
180デフォルトの名無しさん:2013/12/20(金) 18:10:59.49
倍返しだ!
181デフォルトの名無しさん:2013/12/20(金) 18:34:35.18
>>174
ポインタは「変数返し」とは呼べないでしょう。例えば
int *sub(){int a = 5; return &a;}
という関数があったとき、aへのポインタが返り値に渡されるけど
この関数を抜けた時点でaの生存期間が過ぎるので、返されたポインタの参照先は既に変数じゃない
staticなローカル変数への参照を返すなら一応「変数を返す」と言えるかもしれないけど
182デフォルトの名無しさん:2013/12/20(金) 18:36:30.00
mallocで確保すればいいじゃん?
183デフォルトの名無しさん:2013/12/20(金) 18:43:38.16
>>182
それは「ポインタ返しを使って変数を返す関数を作る」のであって、ポインタ返しの使い方のごく一部でしかないでしょ
「ポインタ返しは変数返し」とは到底呼べない
184デフォルトの名無しさん:2013/12/20(金) 18:51:43.07
int *sub() から
戻りが >>181 なのか >>182 なのか はたまた static だったのか知る由はない
185デフォルトの名無しさん:2013/12/20(金) 19:03:15.13
static変数とグローバル変数って一緒ですよね?
static変数のように関数内に変数があれば分かりにくいのでstatic変数の
メリットが分からない。
186デフォルトの名無しさん:2013/12/20(金) 19:12:36.57
static変数とグローバル変数は違うと思いますよ。
187片山博文MZコスモ ◆T6xkBnTXz7B0 :2013/12/20(金) 19:14:55.06
static変数は、privateっぽいんだよな。
188片山博文MZコスモ ◆T6xkBnTXz7B0 :2013/12/20(金) 19:18:02.93
関数の内部にstatic変数があるとき、その関数がどこからも参照されてないときは、その変数は確保されない。
189片山博文MZコスモ ◆T6xkBnTXz7B0 :2013/12/20(金) 19:20:19.64
static変数は他のコンパイル単位から参照できないという意味でprivate。
190デフォルトの名無しさん:2013/12/20(金) 19:26:11.56
僕の名前は烏賊臭太郎(いかくさたろう)です。よろしくお願いいたします。
191片山博文MZコスモ ◆T6xkBnTXz7B0 :2013/12/20(金) 19:28:29.51
>>190
はじめまして。悪臭のするハンドル名でも結構ですよ。
192烏賊臭太郎:2013/12/20(金) 19:34:12.92
おっぱお、おっぱお、ぽよんぽよん
193デフォルトの名無しさん:2013/12/20(金) 19:50:23.17
烏賊臭太郎は死にました
194デフォルトの名無しさん:2013/12/20(金) 22:41:47.44
printfの第一引数に%sなどの変換指定がないのに、第二引数を入れるのは問題ないのですか?
ex)
printf("hoge", "hello"); // "hoge"

また、const変数の中に%sなどの変換指定を入れて、printfの第一引数に入れるのも問題ないのですか?
ex)
const char *str = "Hello, %s";
printf(str, "World!"); // Hello, World!
195デフォルトの名無しさん:2013/12/20(金) 22:48:41.47
>>194
両方問題なし
196デフォルトの名無しさん:2013/12/20(金) 22:58:03.16
>>196
ありがとうございます
197デフォルトの名無しさん:2013/12/21(土) 00:22:18.98
>>170
返せるけど重いから、大体は構造体へのポインタを返す
198デフォルトの名無しさん:2013/12/21(土) 00:22:50.03
オススメの開発環境ってありませんか?
199デフォルトの名無しさん:2013/12/21(土) 00:24:32.37
そんなこと聞く馬鹿は、vimとMakefileでシコシコとマスでも書いてた方が幸せでつ
200デフォルトの名無しさん:2013/12/21(土) 16:21:50.67
Visual C++ 2008 Express
201デフォルトの名無しさん:2013/12/21(土) 16:35:22.71
visual studioって機能めちゃくちゃ良いのに無償で提供して大丈夫なのか?
有償だと大規模な開発できるかもしれないけど、無償でも売れるくらいのアプリケーション
とかゲーム十分作れるんだけど…
202デフォルトの名無しさん:2013/12/21(土) 16:50:15.03
Expressは逆アセンブルできないから中級者以上のプログラミングには全く使えない
動けばそれでOK、デバッグ何それレベルの初心者専用
203デフォルトの名無しさん:2013/12/21(土) 17:07:05.71
デバッグとかコード見て自分で直せばいいんじゃないの?
10万行以上のプログラム書いてるの?
204デフォルトの名無しさん:2013/12/21(土) 17:07:26.48
#include<stdio.h>
main(){
char x[]="abc";
x[0]++;
printf("%d\n",x[0]);
return 0;
}

これを実行したら98とでるんですがなぜ98と出るかがわかりません
とくにx[0]++;の意味がわかりません
教えてください
205デフォルトの名無しさん:2013/12/21(土) 17:13:12.47
97+1=98
206デフォルトの名無しさん:2013/12/21(土) 17:13:17.72
aの文字コードが97だから++したら98になるんじゃないだろうか
207デフォルトの名無しさん:2013/12/21(土) 17:16:00.83
>>205-206
ありがとうございます
208デフォルトの名無しさん:2013/12/21(土) 17:30:04.40
printf("%d\n",97);
だと97が表示されて
printf("%c\n",97);
だとaが表示される
209デフォルトの名無しさん:2013/12/21(土) 17:37:54.94
>>194
二度とくるなキチガイ
210デフォルトの名無しさん:2013/12/21(土) 17:38:45.35
#include <stdio.h>

int main(void) {
printf("%d\n",97);
printf("%c\n",97);
printf("%x\n",97);
printf("%o\n",97);
printf("%f\n",97);
printf("%e\n",97);
printf("%s\n",97);
return 0;
}
211デフォルトの名無しさん:2013/12/21(土) 17:48:49.55
なんだ?
またhoge厨が来てるのか?

>>194
何でこのスレを荒らそうと思ったの?
212デフォルトの名無しさん:2013/12/21(土) 18:24:06.50
>>210
エラーが出ました
213デフォルトの名無しさん:2013/12/21(土) 19:07:17.20
printf("%h\n", 97);
printf("%o\n", 97);
printf("%g\n", 97.0);
printf("%e\n2, 97.0);
214デフォルトの名無しさん:2013/12/22(日) 00:03:14.97
>>194
お前迷惑だよ
215デフォルトの名無しさん:2013/12/22(日) 04:15:20.45
hoge厨みたいな初心者にIDEを勧めるバカの気がしれない
216デフォルトの名無しさん:2013/12/22(日) 10:06:34.43
初心者はVSを使うべき
なぜならHello,worldまでの障壁が低いから
しかも、参考書や資料が多い
217デフォルトの名無しさん:2013/12/22(日) 11:16:31.78
初めてVS使ったときはどのテンプレート使えばいいのかわからなくて混乱したわ
Win32とかCLRとか色々あってどれを開けばいいのかわからなかった
218デフォルトの名無しさん:2013/12/22(日) 11:43:13.55
Express よりもう1ランク下の Visual Studio いちねんせいを作るべき
219デフォルトの名無しさん:2013/12/22(日) 16:13:14.40
C言語がC++に勝ってる点ってあるの?
220デフォルトの名無しさん:2013/12/22(日) 16:27:10.49
本質的じゃない知識が不要 C++は黒魔術が多すぎる
221デフォルトの名無しさん:2013/12/22(日) 16:27:14.90
コンパイラーのバグが少ない
プログラムの品質要求が非常に厳しい状況で
生成されるコードの正しさを確認することが可能
222デフォルトの名無しさん:2013/12/22(日) 16:38:26.98
>>219
移植性
223デフォルトの名無しさん:2013/12/22(日) 16:49:48.32
C言語のちょっと変わった問題が載っているようなサイトってないですか?
224デフォルトの名無しさん:2013/12/22(日) 17:33:10.37
www.hackermeter.com
projecteuler.net
judge.u-aizu.ac.jp
codeiq.jp
paiza.jp
225デフォルトの名無しさん:2013/12/22(日) 17:35:19.20
>>220
自分が理解できないこと = 黒魔術 (w
226デフォルトの名無しさん:2013/12/22(日) 17:40:10.18
このくらい覚えないと使えないとか狂気の沙汰
http://en.wikibooks.org/wiki/More_C%2B%2B_Idioms
227デフォルトの名無しさん:2013/12/22(日) 17:42:14.29
自分が理解できること==白魔術?
228デフォルトの名無しさん:2013/12/22(日) 17:47:28.63
>>226
リンク先見て
目次の多さだけで、脳の綿アメ機能がはたらいて
すぐ閉じちゃった。
229デフォルトの名無しさん:2013/12/22(日) 17:57:59.56
開祖様のお言葉
「C++ はあまりに『熟練者に優しく』なってしまった」
230デフォルトの名無しさん:2013/12/22(日) 18:00:18.04
ちょっと知識が古いかもしれないんだけど
C++のテンプレートってデバッグする時に
自分のコードとライブラリーのコードがぐちゃぐちゃに
混ざってステップ実行が悪夢みたいにならないの?
昔マイクロソフトがATLってのを出してきたときに
少し使ってみたんだけどライブラリーのコードを
ブラックボックスとして扱えなくて、こりゃ品質保証とか
出来ないぞって思った
だからSTLとか拒絶反応がある
231デフォルトの名無しさん:2013/12/22(日) 18:16:33.57
などと、ステップインとステップアウトの違いもわからないデバッグ初心者がぼやいてます
232デフォルトの名無しさん:2013/12/22(日) 18:20:32.38
品質保証はデバッグで行なうものではないので問題無い
233デフォルトの名無しさん:2013/12/22(日) 18:55:11.03
品質保証はQAがやるかもしれないけど
QAが品質保証して出荷する為にはデバッガーさんに
活躍して貰わなくちゃいけないよね
ブラックボックステストやコードカバレッジ、テストスクリプトみたいな
精神安定剤の服用で心が落ち着くならそれで良し
234デフォルトの名無しさん:2013/12/22(日) 19:52:56.81
こいつバグ潰すことを品質保証っていってんの?
235デフォルトの名無しさん:2013/12/22(日) 19:56:08.92
特定の人間はバグを埋め込む数が多いので、そいつの書いた部分を重点的にチェックすればより安心
236デフォルトの名無しさん:2013/12/22(日) 20:07:11.42
それを「デバッガーさん」でやるとか? w
237デフォルトの名無しさん:2013/12/22(日) 20:38:35.48
Mr.スポック転送してくれ。
ここに知的生命体はいない。
238デフォルトの名無しさん:2013/12/22(日) 20:56:36.01
通室不能で転送できません
そちらの方がお似合いだと思いますので、そのままそちらにいてください
239デフォルトの名無しさん:2013/12/22(日) 21:00:53.52
Visual studioをwin8でうまく動かせません。
Win8にも対応してますか?
240デフォルトの名無しさん:2013/12/22(日) 21:03:10.43
対応してるかどうかも調べられないような奴には Visual Studio なんて無駄じゃ...
241デフォルトの名無しさん:2013/12/22(日) 21:08:06.06
2013で動かしてみたんですけど。
使い方が書いてあるサイトに書いてある
項目が見当たりません。
242デフォルトの名無しさん:2013/12/22(日) 21:22:25.71
サーバーにも寿命があると思うんだけど、30年経過したサーバーを
新品のサーバーに入れ替えるときデータを移さないといけないじゃないですか?
古いサーバーから確実に新しいサーバーにデータを入れ替える方法って存在
するんですか?何か欠落しませんか?
243デフォルトの名無しさん:2013/12/22(日) 21:28:47.20
古いサーバーと新しいサーバーを繋ぐプロトコルが無い場合はどうするんでしょう?
244デフォルトの名無しさん:2013/12/22(日) 21:29:45.28
30年も先のことなんて考えなくていいよ
死んでるかもしれないんだから
245デフォルトの名無しさん:2013/12/22(日) 21:29:50.85
デバッガーさんが全部解決してくれます
246デフォルトの名無しさん:2013/12/22(日) 21:46:37.86
>>242
仮想化、もしくはメーカー提供の通信ソフト
247デフォルトの名無しさん:2013/12/22(日) 22:28:07.19
USBメモリ
外付けハードディスク
248デフォルトの名無しさん:2013/12/22(日) 23:13:00.83
何をもって30年といってるのかわからんが
データさえコピーできれば後は何とでもなる

あまり隔たりがあると8インチディスク?なにそれおいしいの?
みたいになりかねんけどw
249デフォルトの名無しさん:2013/12/22(日) 23:34:02.60
>>219
罰ゲームのネタとして
250デフォルトの名無しさん:2013/12/22(日) 23:36:38.15
>>226
なんで virtual destructor がないんだよ!
251デフォルトの名無しさん:2013/12/22(日) 23:45:49.56
"More"じゃないから
252デフォルトの名無しさん:2013/12/22(日) 23:50:07.39
if (0) label:

うっ、目が腐りそうだ…
253片山博文MZコスモ ◆T6xkBnTXz7B0 :2013/12/23(月) 00:05:14.88
>>226 これは凄い!!
254デフォルトの名無しさん:2013/12/23(月) 00:30:16.37
お暇な方で結構ですから
2次元配列を動的に確保して、その中に文字列(char*)を
セット/リセットするコードを教えて。
255デフォルトの名無しさん:2013/12/23(月) 08:22:58.68
>252 無理な最適化オプション付けなくてもちゃんとjmpになるのかねぇ?
256デフォルトの名無しさん:2013/12/23(月) 08:36:49.74
>>252
まぁ、C言語のgoto文はアセンブラ関係上、あっても
仕方ないけど、javaのラベル付きcontinue文を見ると
吐き気がする。
257デフォルトの名無しさん:2013/12/23(月) 09:08:31.01
*(LONG*) & object = 1;

なにをしてんの考えさせられちゃったじゃん
理解するのに5秒以上かかる人はポインタが理解できていないんだろうね
258 ◆QZaw55cn4c :2013/12/23(月) 09:41:45.51
なに、一種のイデオムだから
でも union を使うのが本当かな
259デフォルトの名無しさん:2013/12/23(月) 09:43:42.93
タイプ数は減っても余計わかりにくくなるunionの罠
260デフォルトの名無しさん:2013/12/23(月) 10:47:35.65
>>257 みたいなのにunionは無いんじゃないかなぁ
char4つをintにするような場合は、unionでやるけど
261デフォルトの名無しさん:2013/12/23(月) 10:54:52.75
本当にポインタって難しいな
ここに居る奴らはみんなわかって無いじゃん

お ば か さ ん

262:2013/12/23(月) 13:25:12.08
うんこ
263デフォルトの名無しさん:2013/12/23(月) 13:46:00.73
objectのポインタをlong型のポインタにキャストして、objectに1を代入。
264デフォルトの名無しさん:2013/12/23(月) 15:04:46.13
そりゃそんだけ考えれば誰だってわかるだろ
265デフォルトの名無しさん:2013/12/23(月) 15:09:48.65
ルネサスのレジスタ定義とか、こんなんだな
union port0_st {
  unsigned char BYTE;
  struct {
    reserved:7;
    b0:1;
  } BIT;
};
#define PORT0 (*((union port0_st)0x40000000))
266デフォルトの名無しさん:2013/12/23(月) 15:30:01.12
いみがわかりません
267デフォルトの名無しさん:2013/12/23(月) 15:56:07.04
本当はこんな感じですよ↓
#define PORT0 (*((volatile union port0_st *)0x40000000))
268デフォルトの名無しさん:2013/12/23(月) 16:37:23.68
本当はって。。。
嘘をいう理由がわかりません
269デフォルトの名無しさん:2013/12/23(月) 21:30:08.22
るねさすさわったことない俺でも >>265 はおかしい思たで
270デフォルトの名無しさん:2013/12/23(月) 23:43:12.14
C言語をやってから、c++をやったほうが良いでしょうか?
271デフォルトの名無しさん:2013/12/23(月) 23:47:34.65
>>270
最初からC++やれ
変な癖がつく
272デフォルトの名無しさん:2013/12/23(月) 23:58:40.44
>>271
何で命令口調なんだよコミュ障
お前にきいてないから黙ってろ
273デフォルトの名無しさん:2013/12/24(火) 00:01:21.67
>>271
自分が気に入らない作法を変な癖呼ばわりしないほうがいいよ。
274デフォルトの名無しさん:2013/12/24(火) 00:08:33.59
>>271

int width;
memcpy(&width,"Ultimate Position")
275デフォルトの名無しさん:2013/12/24(火) 00:15:34.68
>>270
最終的に何を作りたいかによるけど、
入門には「ふつうのLinuxプログラミング」が一番に分かりやすかったよ
276デフォルトの名無しさん:2013/12/24(火) 00:22:31.20
>>228
1つ1つのページの内容は少ないし、cでオレオレOOPで実装されたコード読むより遥かに楽
277デフォルトの名無しさん:2013/12/24(火) 00:34:01.60
>>273
どうもすいませんでした
ちょうど不採用の通知が来てイライラしていたのです
今後は充分に気を付けて書き込みます
278デフォルトの名無しさん:2013/12/24(火) 02:03:12.56
>>271
例えば?
279デフォルトの名無しさん:2013/12/24(火) 02:05:03.34
教えてください

Cでは何で"for"がループ文を示すことになったのでしょうか?

他の言語ではwhileやuntil、foreachといったループ文であることが
わかる語を使っているので疑問に思った次第です
280デフォルトの名無しさん:2013/12/24(火) 02:06:33.49
>>279
C言語にもそれらのループはあるけど・・・
281デフォルトの名無しさん:2013/12/24(火) 02:07:18.64
>>279
basic とか for i = 0 to 10 step 2; next i;
282デフォルトの名無しさん:2013/12/24(火) 02:17:11.75
昔は1バイトが貴重だったから5バイトとか7バイトの
キーワドは使えなかったんよ
283デフォルトの名無しさん:2013/12/24(火) 02:20:23.28
条件分岐で3種類の動作に分かれるようなコードが質問させてくださいあったとして、
その中の2種類がほとんど同じ処理の場合の最適なコードの書き方はどのようになりますでしょうか

■今はこう書いてます
if ( 条件A ){
   *************************************
   ** 共通の10〜20行の処理
   *************************************
   共通ではない処理
}else if ( 条件B ){
   *************************************
   ** 共通の10〜20行の処理
   *************************************
   共通ではない処理
}else if ( 条件C ){
   共通ではない処理
}

■このほうがいいのでしょうか
if ( ( 条件A )||( 条件B ) ){
   *************************************
   ** 共通の10〜20行の処理
   *************************************
   if ( 条件A ){
      共通ではない処理
   }else if ( 条件B ){
      共通ではない処理
   }
}else if ( 条件C ){
   共通ではない処理
}
284デフォルトの名無しさん:2013/12/24(火) 02:23:59.60
>>280
foreachやuntilはC言語にあるのでしょうか?
foreachをマクロで実現している環境はあるようですが

>>281
BASICのfor文を拝見してCのfor文は
for A while Bなのかもしれないと思いました
なんとなくスッキリしました
ありがとうございます
285デフォルトの名無しさん:2013/12/24(火) 02:35:32.94
>>283
上にして共通処理を関数化かな。
下はif文のネストのしかたが変。
処理コストは 上 < 下 < 関数化
なんだけど、普通は問題にならないレベルだろ。
286デフォルトの名無しさん:2013/12/24(火) 03:14:24.31
>>283
Cじゃなかった場合に共通部分を実行してからAかBの判定じゃだめなの?
287デフォルトの名無しさん:2013/12/24(火) 03:23:32.20
>>284
c言語にwhileはあるだろ。無いものを挙げてどうする。

あとc言語のforはBCPL由来と思う
そのもとはfortlanのdoループ
288デフォルトの名無しさん:2013/12/24(火) 03:29:23.20
>>283
基本的に同じことを複数書かないほうがいい
なので、下の方がいい。

自分ならこう書くかな

if(A || B) {
  共通処理
}

if(A) {
  共通ではない処理
} else if (B) {
  共通ではない処理
} else if (C) {
  共通ではない処理
}
289デフォルトの名無しさん:2013/12/24(火) 08:42:14.95
最適化しすぎると後で改変する必要が出た場合に逆に面倒になる場合も
290デフォルトの名無しさん:2013/12/24(火) 15:12:53.99
if (A) {
共通処理AB();
非共通処理A();
} else if (B) {
共通処理AB();
非共通処理B();
} else if (C) {
非共通処理C();
} else {
// assertかなんかしとけよ。
}
291デフォルトの名無しさん:2013/12/24(火) 15:16:11.09
>>290
余計なことすんなバカ
292デフォルトの名無しさん:2013/12/24(火) 17:35:37.30
20年前のPCで要素100万個のデータをクイックソートしたら実行時間は
どのくらいかかりますか?今だと1秒ですが。
293デフォルトの名無しさん:2013/12/24(火) 17:39:07.16
試せば?
294デフォルトの名無しさん:2013/12/24(火) 17:45:18.30
20年前のPCもう持ってないので…
295デフォルトの名無しさん:2013/12/24(火) 17:55:46.92
20年前のPCは100万個のデータなんてオンメモリで処理できないんじゃないのって
おもってググったら1993年のPCはもうメガ単位でメモリをもってたんだな。
macとかメモリ8Mか。
296デフォルトの名無しさん:2013/12/24(火) 18:43:46.71
でも20年前でもゲームとかあったしそれなりに高速な処理できたんじゃないのでしょうか?
297デフォルトの名無しさん:2013/12/24(火) 18:49:20.60
例えばストリートファイター、キャラクターを自由自在に動かすには
相当なメモリとCPUの性能が必要なはず、25年前でも相当PCは進化していたのでは?
298デフォルトの名無しさん:2013/12/24(火) 18:52:56.79
そのゲームに特化しているんだからZ80で十分
299デフォルトの名無しさん:2013/12/24(火) 19:37:28.69
X68000でスト2ダッシュが出てたかと
300デフォルトの名無しさん:2013/12/24(火) 20:19:26.97
たうんずHRがちょうど20年ほど前で4MのSIMM2枚増設してたわ
301デフォルトの名無しさん:2013/12/24(火) 20:50:03.75
>>292
100万個ということは当然要素も32bitを想定してるよな…
メモリ4MB…
Win95以前に32bitプログラミングしてた奴がいったい何人いると…
16bitプログラミングならそもそも比較する意味が…
302デフォルトの名無しさん:2013/12/24(火) 20:56:04.72
Win32s ...
303デフォルトの名無しさん:2013/12/24(火) 21:01:09.69
x68とかTOWNSとか
あとGCCは昔からintが32bitでうらやましかった
304デフォルトの名無しさん:2013/12/24(火) 21:01:17.82
そもそも何が知りたいのか
友達との世間話程度の面白話か
学校の課題か何かか
305デフォルトの名無しさん:2013/12/24(火) 21:03:38.46
ムーアの法則によると約10000倍だから約1/8日
306デフォルトの名無しさん:2013/12/24(火) 21:11:12.65
>>301
当時はMS-DOS上で動かす djgpp go32 っていうのがあったよ
307デフォルトの名無しさん:2013/12/25(水) 01:08:11.85
farって正確にはどんな環境だと不要なんでしょうか?
必要な環境は想像できるんですが、絶対に不要な環境の正確な条件がわかりません。

ポインタのサイズでメモリ空間をすべて表せる場合?
ジャンプ命令でメモリ空間すべてに飛べる場合?
CPUの命令やレジスタのサイズとメモリ空間を表現するbit数が同じ場合?
308デフォルトの名無しさん:2013/12/25(水) 01:26:18.30
>>301
汎用機とかワークステーションとか 30年前から 32bit 使ってた奴もいるだろ。
PC に限定しても BSD/386 とかの Unix も動いていたんだし。
309デフォルトの名無しさん:2013/12/25(水) 01:31:13.61
>>307
> ポインタのサイズでメモリ空間をすべて表せる場合?
310デフォルトの名無しさん:2013/12/25(水) 01:37:10.73
311デフォルトの名無しさん:2013/12/25(水) 09:57:38.29
そんなことより知り合いのスーパーハカーに頼んで >>292 を救ってもらうべき
312デフォルトの名無しさん:2013/12/25(水) 12:46:19.75
>>307
farとは何か、調べれば答えは簡単に出るよ
下3行から察するにセグメントと分岐命令のレンジを混同しているようだし
即値とリテラルについてもかなりあやふやだろ
313デフォルトの名無しさん:2013/12/25(水) 20:25:23.99
二次元配列を引数にするとき、宣言では
int x[10][10];なのに

関数の宣言で二次元配列を受け取るときは
int returnx(int x[])
{
int i;
return i;
}
と1次配列と区別がつかないのは何故ですか?

後、二次元配列の添え字を返す関数ってどうやって作ればいいですか?
int returnx(int x[],int i)
{
return i
}

returnx(x[3],3);
みたいな方法以外でどうやればいいですか?
314313:2013/12/25(水) 20:38:42.79
二次配列までは

int x(int x[])
{

}

というポインタを使わない形で書けますが、3次元以上になると
ポインタ以外の方法で引数に取る事は無理ですか?

int x(int x[][])
{

}
315デフォルトの名無しさん:2013/12/25(水) 20:46:47.10
コンピュータないでは未だに1次元の直線状にアドレスが振られているだけです。
多次元の配列は作れません。
316デフォルトの名無しさん:2013/12/25(水) 20:48:04.38
>>314
C言語では無理だから
別の言語をつかえばいいよ
317313:2013/12/25(水) 20:58:07.27
>>315
「*」この記号を使わない方法は3次元以上では無理ですか?
318デフォルトの名無しさん:2013/12/25(水) 20:58:48.62
>>313-314
>関数の宣言で二次元配列を受け取るときは1次配列と区別がつかないのは何故ですか?
int x[] = int *x
だから。なお、int[10][10]を渡す場合、受け取る関数側ではint[][10]とするのが一般的ではないかと思います。一次元配列と同じ方法で渡すとコンパイラが警告を出しませんか?

>後、二次元配列の添え字を返す関数ってどうやって作ればいいですか?
何次元かが決まってるなら構造体を返せばいいでしょう

>二次配列まではポインタを使わない形で書けますが
改めて言いますが、
int x[] = int *x
です。きっちりポインタを使っています
319デフォルトの名無しさん:2013/12/25(水) 21:03:15.67
#define X 10
#define Y 20
int x(int x[][Y][X]);
320デフォルトの名無しさん:2013/12/25(水) 21:03:36.57
釣り針でかすぎw
321313:2013/12/25(水) 21:06:01.87
>>318
int x[10][10];
returnx(x[10]);

エラーでませんよ?


>構造体で返す
?????
322デフォルトの名無しさん:2013/12/25(水) 21:07:26.85
サイズ固定でいいなら typedef int Array[10][10][10];
普通配列のポインタで渡すけどな。 void test(Array *a)
323313:2013/12/25(水) 21:11:13.38
>>319
それめっちゃ便利ですね。
4次元も同じ要領ですか?

#include<stdio.h>
int y(int x[][10][10])
{
return x[][3][3];
}
int main(void)
{

int x[10][10][10];
x[3][3][3]=100;
printf("%d\n",y(x[][10][10]));

}


codepadでやったところエラーでした。
どうすればいいですか?
324デフォルトの名無しさん:2013/12/25(水) 21:18:51.85
>>321
>returnx(x[10]);
x[10]は一次元配列です

>>構造体で返す
>?????

typedef struct subscr{
int one;
int two;
int three;
}Subscr;

Subscr sub(int x[][5][6]){
Subscr s;
/*3重ループでx[l][m][n]=1であるような添え字の組を探す処理*/
s.one = l;
s.two = m;
s.three = n;
return s;
}
int main(void){
int x[4][5][6]={0};
x[1][2][3] = 1;
Subscr s = sub(x);

}
325313:2013/12/25(水) 21:19:13.35
#include<stdio.h>
int y(int x[][10][10])
{
return x[3][3][3];
}
int main(void)
{

int x[10][10][10];
x[3][3][3]=100;


}

これだけならエラーでません、渡し方が間違ってるんでしょうか。
どうやって渡せばいいでしょう。
326313:2013/12/25(水) 21:21:50.66
printf("%d\n",y(x[][][])); ダメ
printf("%d\n",y(x[][10][10]));ダメ
printf("%d\n",y(x[]));ダメ
printf("%d\n",y(x));成功 
何故???
327313:2013/12/25(水) 21:25:15.75
>>324
return(x[10])ってのは
x[10]は配列の要素ではなくて、配列そのものなんですね。
だからx[10]という引数は可能なんですか。

添え字を探すのはやはり探す処理が必要、もしくは添え字を引数で
渡すしかないんですね。
328デフォルトの名無しさん:2013/12/25(水) 21:26:59.80
ポインタと配列に関する箇所だけでも
入門書を読んでから出直したほうが良いような

引数で値を渡す記述で 326 の上3つを書くようだとね
329デフォルトの名無しさん:2013/12/25(水) 21:31:01.18
>>327
>x[10]は配列の要素ではなくて、配列そのものなんですね。
ちがう。変数xを"int x[10][10];"と宣言した時、
"x"はint [10][10]型の変数
"x[n]"はint [10]型の変数
"x[m][n]"はint型の変数
になる。
だから
>returnx(x[10])
と書いたら渡してるのはint[10]型、つまり一次元配列。
二次元配列を渡したいなら
returnx(x)
でないとだめ
330313:2013/12/25(水) 21:36:05.18
>>329
x[10]が配列の一つ一つの要素ではなくて、x[10]という名前の配列という意味で
言ったのですよ。

return(x)は配列そのものを渡してるから、全ての次元を弄れるんですね。
return(x[10])だとx[10]の子分、x[10][3]とかしか返せないんですね。
なるほど、良くわかりました。

ただ何故 int x(x[][10][10])のような書き方をするんでしょうか。
mainから呼び出す形と同じ型にすればいいのに int x(int x)じゃだめなのか
331デフォルトの名無しさん:2013/12/25(水) 21:51:52.75
>>330
>return(x)は配列そのものを渡してるから、全ての次元を弄れるんですね。
>return(x[10])だとx[10]の子分、x[10][3]とかしか返せないんですね。

その認識ならあってる。

>何故int x(x[][10][10])のような書き方をするんでしょうか。
何度も言うけど、"int x[] = int *x"だ。
C言語では、配列を渡すのは「配列の先頭へのポインタを渡す」という形で実現してる。
つまり一次元配列を引数に持つ時は本来なら
int func(int* x)
と書くのが正しい。だけど、それだと渡されたポインタが「ただのポインタ」なのか「配列の先頭へのポインタ」なのか分かりづらいので、
int func(int x[])
と書くことで、「引数xは配列ですよ」と明示できるようになってる(プログラマにとって分かりやすいというだけで、内部的な処理はどちらも同じ)

>int x(int x)じゃだめなのか
「引数に渡す」という動作は、代入とほぼ同じ。
int x[10][10] = {0};
int y = 5;
と宣言した時、
y=x;
という代入が成立しないのは直感的にわかるでしょ

あと、ずっとやってるけど
int x[n]
と書いたとき、xの要素はx[n-1]までだからな。int x[10][10]ならx[9][9]までしかアクセスしちゃだめよ
332デフォルトの名無しさん:2013/12/25(水) 21:56:15.21
初歩の初歩かもしれないんですけど戻り値とはなんですか?本を読んでも、ネットで調べてもわかりません。誰かわかる人ハンバーガーとかにでも例えて教えてください。
333デフォルトの名無しさん:2013/12/25(水) 22:00:21.96
注文したらハンバーガーが出る
ハンバーガーが戻り値

そういうことだ
334313:2013/12/25(水) 22:01:08.76
>>331
なるほど良くわかりました、でも最初からポインタで配列を宣言する
事は無理ですよね?
335デフォルトの名無しさん:2013/12/25(水) 22:01:09.51
336デフォルトの名無しさん:2013/12/25(水) 22:03:39.59
>>333
間違えたごめんなさい。
return 0;の時、何が0に当たるのでしょうか?
337デフォルトの名無しさん:2013/12/25(水) 22:11:31.80
スマイル
338デフォルトの名無しさん:2013/12/25(水) 22:12:47.03
>>337
何の意味もないってことですね。よくわかりました。ありがとう。
339デフォルトの名無しさん:2013/12/25(水) 22:23:19.12
>>334
>最初からポインタで配列を宣言する事は無理ですよね。
もちろんできない。malloc関数やcalloc関数を使えば実現できるけどな

あと多次元配列を関数の引数にするときは、「1番目の要素だけ省略し、2番目以降は元通りに書く」。例えば
int x[2][3][4][5]
というような4次元配列を引数に持つ関数funcを定義するときは
void func(int x[][3][4][5])
と書く。>>319みたいにひっくり返すなよ
340313:2013/12/25(水) 22:24:21.79
ひっくり返すなとは?
341デフォルトの名無しさん:2013/12/25(水) 22:26:14.89
マクドナルドから
ダブルてりやきマックバーガーと
ダブルフィレオフィッシュが出たぞ
342デフォルトの名無しさん:2013/12/25(水) 22:33:13.99
>>340

#define X 10
#define Y 20
#define Z 30

としたら、普通は

int x[X][Y][Z]

と宣言するだろ?それだとこのxを引数に取る関数は

void func(int x[][Y][Z])

と書くのが正しいってことだ。まあ>>319

int x[Z][Y][X]

であるような配列を引数に受け取りたかったのかもしれないが
343デフォルトの名無しさん:2013/12/25(水) 22:37:41.15
>>342
C言語に慣れた人の普通ってのは
x[Z][Y][X]
の順だべ

まあ普通とかみんなとか言い出すやつは、普通じゃないことのほうが多いけどなwww
344313:2013/12/25(水) 22:41:09.23
>>342
次元の順番と、アルファベットの順番は一致しといたほうがいいんですね
ちなみに次元の順番はビットマップの行、列の順番と対応してるんですが
紙とか画像とかって横×高さで逆ってのが一般的ですよね、何故高さ×横
にしないのか?と思います。
345デフォルトの名無しさん:2013/12/25(水) 22:41:39.42
>>343
そうか、言われてみればそうかもしれん。すまんかった
346デフォルトの名無しさん:2013/12/25(水) 22:43:26.62
>>339
あほー x,y,zの3次元というのは
0,0,0
1,0,0
2,0,0
...
0,1,0
...

と並んでいる事が期待されている
従って>>319が正しい
347デフォルトの名無しさん:2013/12/25(水) 22:47:25.41
>>346
すまん、勉強になったわ
348デフォルトの名無しさん:2013/12/25(水) 23:08:49.25
>>337
関数の型で決まる。
int y(...)なら 0 というint型の数値。
349デフォルトの名無しさん:2013/12/25(水) 23:12:30.38
マックの最強に旨い組み合わせを教えてやろう。

てりやきマックバーガー
ポテトL
ホットコーヒー
チキンナゲット

この食べ合わせがめちゃくちゃ旨い。
食ったことのない奴は試してみろ。
350デフォルトの名無しさん:2013/12/25(水) 23:16:47.20
約 467,000 件 (0.29 秒)
"マックの最強に旨い組み合わせを教えてやろう。"との一致はありません。
351デフォルトの名無しさん:2013/12/25(水) 23:29:14.57
チキンフィレオとチキンクリスプ両方食べてみたけど違いが分からん
安いほうでいい
352デフォルトの名無しさん:2013/12/25(水) 23:33:08.00
それはお前が普段旨いものを食ってないだけ。
舌が肥えていればチキンフィレオのほうが旨く感じる。
353デフォルトの名無しさん:2013/12/25(水) 23:45:16.10
>>334
配列を宣言したときは、その分のメモリーが確保されるが、
ポインタ変数を宣言しても、アドレスを表現できる分の
メモリーしか確保されない。

何らかの方法で必要なメモリ領域を確保して、先頭アドレスを
ポインター変数に入れてやれば良い。
その後は、配列と同様に扱える。
354313:2013/12/26(木) 00:01:33.95
>>353
理かいしました。
でも[]という記号を使わずに、3次元配列とか無理ですよね?
もしかしてできるとか?
355デフォルトの名無しさん:2013/12/26(木) 00:03:39.75
Cやめたほうがよさげ
356デフォルトの名無しさん:2013/12/26(木) 00:11:20.80
>>354
無りです
357デフォルトの名無しさん:2013/12/26(木) 00:13:17.90
Cのソースの中でc++って使えるんですか?
c++を記述してる箇所があるんですが・・・
358デフォルトの名無しさん:2013/12/26(木) 00:16:29.43
それはcのソースではなくc++のソースです

次の方どうぞ
359デフォルトの名無しさん:2013/12/26(木) 00:33:12.30
C言語検定試験って受けといたほうがいいかな?
1級受けたいんだけど、目指してる人いますか?
360デフォルトの名無しさん:2013/12/26(木) 00:50:18.53
ゴミ試験

試験問題はデタラメなので勉強する価値はない、持っていてもなんの役にも立たない、受ける意味は全くない
361デフォルトの名無しさん:2013/12/26(木) 01:18:32.15
結構難しいし面白い試験だよ、全くないってことは有りえないだろ
362デフォルトの名無しさん:2013/12/26(木) 01:19:53.98
2級ってどれくらいの難しさ?
受けようと思ってるんだけど勉強方法がよくわからん
363デフォルトの名無しさん:2013/12/26(木) 01:28:28.91
http://www.kijineko.co.jp/node/716
ここみると ネタとしか思えない 酷すぎる
364デフォルトの名無しさん:2013/12/26(木) 01:31:34.87
>>361
ない
その試験自体の存在が知られておらず、したがって誰にも評価されない
365デフォルトの名無しさん:2013/12/26(木) 02:20:09.52
調べればすぐ分かることだよなあ
366デフォルトの名無しさん:2013/12/26(木) 07:35:11.66
>>363
ゲストコメントの無知ぶりがひどいな
これぐらい無知でないと検定取れないのかもしれない
367デフォルトの名無しさん:2013/12/26(木) 07:40:53.24
会社の査定指針で資格ならナンでもって事で資格詐欺っぽいの取らされる場合が結構あるからね
実績のない若手とか主戦場失ったVBマとかが
368デフォルトの名無しさん:2013/12/26(木) 08:56:02.07
うちの会社の悪口言うなよ
369デフォルトの名無しさん:2013/12/26(木) 09:00:09.45
>>366
士商法のカモでしょ
370デフォルトの名無しさん:2013/12/26(木) 10:52:17.98
IPAの何とかスペシャリストの方がハッタリ利くよ
371デフォルトの名無しさん:2013/12/26(木) 11:03:19.85
それを取れない池沼対象の資格だろ
372デフォルトの名無しさん:2013/12/26(木) 12:42:04.54
イソプロピルアルコール?
373デフォルトの名無しさん:2013/12/26(木) 13:48:12.78
マックから古き良き時代のアメリカをイメージしたハンバーガーが出るらしいぞ
374デフォルトの名無しさん:2013/12/26(木) 14:12:10.80
先住民にとってもいい時代なのかね
375デフォルトの名無しさん:2013/12/26(木) 14:13:16.65
シェアポテトってどのくらいの量なの?
376デフォルトの名無しさん:2013/12/26(木) 14:21:25.32
C言語をちゃんと覚えてからJAVAとかに手を出したいと思ってるんだけど
どれくらいのレベルならC言語できるって言っていいの?
377デフォルトの名無しさん:2013/12/26(木) 14:26:44.99
>>376
Cコンパイラを作れるようになったら「Cができる」って言っていいってのが業界の共通認識。
yaccとか使わないでパーサージェネレーターの段階から作れないとダメだからな。
378デフォルトの名無しさん:2013/12/26(木) 14:29:26.28
他人の突っ込んだバグを直せるようになったらおk
379デフォルトの名無しさん:2013/12/26(木) 14:43:26.05
>>376
自分でその判断ができるほどのレベルだったら
380デフォルトの名無しさん:2013/12/26(木) 14:53:56.64
C++へ進むつもりがなければテキトーでいい

その場合「ぼくはCができます」と人前で言ってはならない
381デフォルトの名無しさん:2013/12/26(木) 14:54:54.74
makeでファイルをコンパイルしたいのですが上手くいきません。
main.c
/*始まり*/
#include<stdio.h>
int main(void)
{int i,j,k;scanf("%d %d %d",&i,&j,&k);printf("%\n",max(i,j,k));}
/*終わり*/
sub.c
/*始まり*/
#include<stdio.h>
int main(void)
int sub(int i,int j,int k){int max;max=i;if(max<j)max=j; if(max<k)max=k; return k;}
{return 0;}
/*終わり*/
makefile
/*始まり*/
#include<stdio.h>
main.c
sub.c
/*終わり*/
382デフォルトの名無しさん:2013/12/26(木) 14:57:08.57
端末で実行
/*始まり*/
]make makefile
]error
どうしたらいいでしょうか?
383デフォルトの名無しさん:2013/12/26(木) 15:01:23.22
根本的に間違ってると思うので、どこが間違ってるか指摘して頂くと嬉しいです。
384デフォルトの名無しさん:2013/12/26(木) 15:10:35.76
>>381
makefileは

cc -c main.c
cc -c sub.c
cc main.o sub.o

みたいな感じじゃないの。
(コンパイルオプションは忘れたから適当)
385デフォルトの名無しさん:2013/12/26(木) 15:20:27.73
A : B
 C

A と B の時刻を比較して B が新しいようなら C を実行する


拡張子決め打ちの推測規則の書き方は。。。 どうだっけか?
.c.o :
 cc -c <ここの引数 .c 側の名前を置き換えるようなのが怪しい>
386デフォルトの名無しさん:2013/12/26(木) 15:23:18.28
makefileの書き方なんかCをひととおり使えるようになってからで十分と思うのだが
387デフォルトの名無しさん:2013/12/26(木) 15:24:09.29
prog: main.c sub.c
cc -o prog main.c sub.c
388デフォルトの名無しさん:2013/12/26(木) 16:17:51.12
#ifdef XXX

#if defined(XXX)

って同じ意味ですか?
389デフォルトの名無しさん:2013/12/26(木) 16:33:59.42
はい
390デフォルトの名無しさん:2013/12/26(木) 16:55:44.36
規格で言えばhogeからだよ
ってなかっこいい答えが欲しいッス
391デフォルトの名無しさん:2013/12/26(木) 17:43:50.56
>>390
ウザい消えろ。
392デフォルトの名無しさん:2013/12/26(木) 18:31:01.67
>>390
hogeというのが規格とどう関係するのか判りませんが、
>388の質問に関してならば少なくともc89では同じ意味として書かれているはずです。
393デフォルトの名無しさん:2013/12/26(木) 18:42:23.40
>>391
そんな事言わずに
じじいのクダ巻きが聞きたいッス
394デフォルトの名無しさん:2013/12/26(木) 18:49:15.27
>>392はhoge荒らしの相手をしてスレを荒らそうとしてるから以後スルーで
395デフォルトの名無しさん:2013/12/26(木) 19:55:12.34
Cのコンパイラ作っていますが、実行文の格納形式はスタックのほうがいいですか?
それともキューがいいですか?
396デフォルトの名無しさん:2013/12/26(木) 20:05:16.22
計算は逆ポーランドであることはインタプリタでも変わらないと思いますが
文法の生成規則は何がお勧めですか?
文脈自由文法でしょうか?
397デフォルトの名無しさん:2013/12/26(木) 20:21:08.95
コンパイラ自体せいぜい1000行前後、100キロバイトくらいなのに
何故軽量なcygwinですら結構容量あるんだろう?
398デフォルトの名無しさん:2013/12/26(木) 20:28:25.44
cygwinはコンパイラじゃないからね。
勿論、ビルド環境だけでもないし。
399デフォルトの名無しさん:2013/12/26(木) 21:26:09.44
C言語検定1級が割と難しい件、受かるか自身無い。
400デフォルトの名無しさん:2013/12/26(木) 21:38:05.03
>>376
JAVA や C++からで良いと思う。
組み込み屋さんや、ドライバー屋さんやるんで無ければ
Cは必要ないし。
401デフォルトの名無しさん:2013/12/26(木) 22:09:07.85
>>400
Cってもう需要ないのかな・・・
javaやhtmlやったほうがいいのかね
402デフォルトの名無しさん:2013/12/26(木) 22:12:02.83
html…?
403デフォルトの名無しさん:2013/12/26(木) 22:14:02.81
Cと何かスクリプト言語でいいよ
Javaは…まあ趣味だろうね。ニッチな
404デフォルトの名無しさん:2013/12/26(木) 22:23:30.54
Javaはめっちゃ使われてる。
サーバーサイドでは、PHPとJavaがツートップなんじゃないの。
405デフォルトの名無しさん:2013/12/26(木) 22:25:31.38
Javaはやっておいて損はない。
C++もいいかもしれない。
406デフォルトの名無しさん:2013/12/26(木) 22:29:18.85
javaくらい難しい言語になると体系的に学べるサイトが一気に減る。
マルチスレッドとかむずすぎワロタ
407デフォルトの名無しさん:2013/12/26(木) 22:33:32.36
いくつかの32bit符号無し整数の変数を使った演算の結果がとても大きい値になるため
演算結果を上位32bitと下位32bitの2つの数に分けたいのですが、どういうやり方がありますか?
408デフォルトの名無しさん:2013/12/26(木) 22:35:30.48
>>407
long longとか64bitの型はないの?
409デフォルトの名無しさん:2013/12/26(木) 22:40:44.38
>>408
できました。ありがとうございます。
410 ◆QZaw55cn4c :2013/12/27(金) 00:40:48.77
>>376
標準関数の qsort() を、とりあえず実装できたら自分の中だけでなら納得していいと思う

>>377
それはちと厳しい

>>380
extern は要らない子っ!
411デフォルトの名無しさん:2013/12/27(金) 00:42:45.49
>>410
a.cとb.cで使用したい変数がある場合はどうするんですか?
412デフォルトの名無しさん:2013/12/27(金) 00:47:45.09
>>400-401
あの〜、C++ は今着目している領域がスタックにあるのかそれともヒープなのかをきっちし意識しないと、とてもとても
java の「参照」とかいいかげんだし

>>376
追加、malloc()/free() を自在に使えるのも大事だね
413デフォルトの名無しさん:2013/12/27(金) 07:05:50.66
>>412
malloc()/free()のなにが難しいんだ?

free(malloc(1));

deOK
414デフォルトの名無しさん:2013/12/27(金) 08:11:12.55
その1バイトが確保できなかったらと思うと安心してリリースできないコードだな
415デフォルトの名無しさん:2013/12/27(金) 08:16:13.29
>>414
マジでいってんの
416デフォルトの名無しさん:2013/12/27(金) 08:17:26.97
free(NULL);
417デフォルトの名無しさん:2013/12/27(金) 08:24:35.20
free(NULL) はセーフ
fclose(NULL) はアウト
418デフォルトの名無しさん:2013/12/27(金) 08:59:44.61
>>417
× free(NULL) はセーフ
⚪︎free(NULL) はセーフな場合もある
419デフォルトの名無しさん:2013/12/27(金) 09:38:13.27
>>401
今時だったらC#やるのがいいかも。
標準ライブラリがかなり充実していてアプリが簡単に作れるから。
それから、CとかC++とか他の言語を勉強するのがいいと思う。
420デフォルトの名無しさん:2013/12/27(金) 10:52:01.81
C#は具体的に何が楽なんですか、グラフィック関係?
例えば、円の周りを円が回るみたいなプログラムはどんなコードになりますか?
421デフォルトの名無しさん:2013/12/27(金) 10:53:41.92
RoundCircle(Circle)
422デフォルトの名無しさん:2013/12/27(金) 11:15:36.94
C#は.NET Framworkで動くアプリっていうけど、ネットに繋がってないと
遊べないゲームを作るってことですか?良くわからないので教えて下さい。
423デフォルトの名無しさん:2013/12/27(金) 11:18:16.17
>>422
擦れ違い。いや、板違いです。
424デフォルトの名無しさん:2013/12/27(金) 11:49:41.68
Cは開発効率は悪いが、低級言語に近いから痒いところに手が届く。
とりあえずCが使えれば作れないものはほとんどない。
それにCは割と難しいほうに入るらしいから、Cが使えれば他の言語の習得も容易。
CやってからJS、Perl、PHP辺りをやると簡単すぎて失禁しそうになる。

プログラミング言語ではないが、HTMLも使えるようになっておくと何かと便利。
425デフォルトの名無しさん:2013/12/27(金) 11:57:51.94
てか、他の言語を書くにもCは必須だしね
426デフォルトの名無しさん:2013/12/27(金) 11:58:41.57
> とりあえずCが使えれば作れないものはほとんどない。

ドライバや組み込みなど低レイヤに関してはその通りだが、
業務アプリケーションはむしろCでは作れない。
フレームワークが存在しないから。
427デフォルトの名無しさん:2013/12/27(金) 12:00:06.81
× 簡単すぎて
○ 簡単に実現できて
428デフォルトの名無しさん:2013/12/27(金) 12:02:29.82
諸々の事情含め
"Cだけでは"
ってのが正確じゃないかな
429デフォルトの名無しさん:2013/12/27(金) 12:07:44.93
無人島で生き延びるためには非常に有効だが
文明人にはその価値がわからない
430デフォルトの名無しさん:2013/12/27(金) 12:10:33.13
>>418
あらま。 環境依存だったのか。
431デフォルトの名無しさん:2013/12/27(金) 12:13:39.22
Cは難しいというより、そのコードは俺が数十年前にもっと良いものを書いた
というものが多過ぎるのが問題なんじゃないの?w
432デフォルトの名無しさん:2013/12/27(金) 12:14:15.43
>>424
>Cが使えれば作れないものはほとんどない。
それはごく一部の方だけです。
カーネルの開発者達がそのレベルかもしれません。
大抵の人はなにも作れません。所詮お遊び程度のアプリ
433デフォルトの名無しさん:2013/12/27(金) 12:25:08.22
>>426
フレワがないと何もできないんだろ
そしてそのフレワはCで作るんだろ
434デフォルトの名無しさん:2013/12/27(金) 12:31:57.22
フレワが膨大な量だから、ゼロからフレワは作らんわな。
既存のフレワの上位レイヤーとして自作フレワを作るってのはある。
435デフォルトの名無しさん:2013/12/27(金) 12:40:18.30
有名なフレワって何があるの?

ジャンルを問わず知名度のあるフレワって何があるの?
436デフォルトの名無しさん:2013/12/27(金) 12:42:09.32
ライブラリとフレームワークとAPIとミドルウェアの違いが分からないんだけど
全部一緒ですか?
437デフォルトの名無しさん:2013/12/27(金) 12:45:20.31
>>436
フレワは何らかの機能を持った骨組み
その機能にアクセスするためのインタフェがAPI
APIはどんな形で提供してもいいけど、提供するときの形態の一つとしてライブラリがある
438デフォルトの名無しさん:2013/12/27(金) 12:57:52.38
ミドウェは?
439デフォルトの名無しさん:2013/12/27(金) 13:01:11.47
>>437
DirectXはライブラリ?フレームワーク?
440デフォルトの名無しさん:2013/12/27(金) 13:43:16.67
>>437
ありがとう
441デフォルトの名無しさん:2013/12/27(金) 13:44:17.82
>>437>>438
キムチ悪いからその変な略語はやめてくれ。
442デフォルトの名無しさん:2013/12/27(金) 13:48:14.80
ファームウェアをファ〜と略そう(提案
443デフォルトの名無しさん:2013/12/27(金) 13:49:07.73
実体はAPIなんですね。ライブラリは提供形態ですね。
444デフォルトの名無しさん:2013/12/27(金) 13:50:08.54
ライブラは提供形態
445デフォルトの名無しさん:2013/12/27(金) 14:00:41.15
ライブラってドラクエの技じゃんwwww
446デフォルトの名無しさん:2013/12/27(金) 14:17:01.38
FFじゃね?
447デフォルトの名無しさん:2013/12/27(金) 15:15:50.14
使い方
ライブラリ・・・ライブラリが関数を公開しているので、自分のプログラムからそれを使う
フレームワーク・・・プログラムの流れは実装済みで、決まった条件でフック関数が呼び出されるので、そのフックの中身を実装する
448デフォルトの名無しさん:2013/12/27(金) 15:45:50.36
>>426>>432
これは痛い。。

適材適所の言語を使うのは勿論だが、Cでも手間がかかるだけで
作れないことはないだろう。

Cの良いところは低水準だがソースレベルの互換性が高いところだな。
449デフォルトの名無しさん:2013/12/27(金) 15:56:48.60
彼らは可能性の話はしてないでしょ
450デフォルトの名無しさん:2013/12/27(金) 16:13:40.09
int b[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
これに対して
**(b+2)
これってなんですか?
451デフォルトの名無しさん:2013/12/27(金) 16:24:03.47
7だ
452デフォルトの名無しさん:2013/12/27(金) 16:24:56.71
>>448
プロの仕事は手間をかけちゃいかんのですよ
納期が存在しないアマチュアならアセンブリなりC言語なり好きなもの使えばいいだろうけど
453デフォルトの名無しさん:2013/12/27(金) 16:25:55.24
b[2][0]
454デフォルトの名無しさん:2013/12/27(金) 16:50:34.43
>>448
だったら、OS作ってみろよ
作れたら、「Cならなんでも作れる」と胸張っていってよし
100m9台で走れるよって言ってるようなもの

走れる人がいるってだけだろ
455デフォルトの名無しさん:2013/12/27(金) 16:59:07.94
>>454
実用的なOSは無理だが最低限のOSなら作れちゃうだろ
456デフォルトの名無しさん:2013/12/27(金) 17:06:32.08
例えミスっちゃったパターンだな
457デフォルトの名無しさん:2013/12/27(金) 17:31:13.63
難易度でどうこう言っちゃってる時点で失笑しかできねえんだが
458デフォルトの名無しさん:2013/12/27(金) 17:32:21.56
>>451
なぜそうなるんですか?
459デフォルトの名無しさん:2013/12/27(金) 17:34:44.79
b[2][0]
460デフォルトの名無しさん:2013/12/27(金) 17:51:34.91
>>458
b(配列の先頭アドレス)のアドレスを進めた要素の値
いろいろやってみ

int a = **(b+2);
printf("%d¥n", a);

int c = *(*(b+1)+2);
printf("%d¥n", c);

int d = *(b[0]+2);
printf("%d¥n", d);
461デフォルトの名無しさん:2013/12/27(金) 17:58:09.08
>>458

int a[3]={0,1,2};

a[2] は *(a+2) と全く同じ意味(いわゆるシンタックスシュガー)

int b[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};

同じように考えると

**(b+2)
= *(*(b+2))
= *(*(b+2)+0)
= *(b[2]+0)
= b[2][0]
= 7
462デフォルトの名無しさん:2013/12/27(金) 20:21:27.43
ところが a[3] は *(a+3) じゃないんだよなー、これが
463デフォルトの名無しさん:2013/12/27(金) 20:29:08.50
はい?
int a[4] = {1,2,3,4};
printf("%d¥n", a[3]);
printf("%d¥n", *(a+3));
464デフォルトの名無しさん:2013/12/27(金) 20:35:04.48
int a[3]; a[3]; *(a+3);
これどうなるの?
465デフォルトの名無しさん:2013/12/27(金) 20:36:56.18
どうもならん
466デフォルトの名無しさん:2013/12/27(金) 20:45:06.08
どうもならんかった
467デフォルトの名無しさん:2013/12/27(金) 21:11:35.03
>>463
捏造するなa[4]
468デフォルトの名無しさん:2013/12/27(金) 23:00:09.01
#include <stdio.h>
int main () {
int a[3];
printf("%p\n", (a));
printf("%p\n", (a+1));
printf("%p\n", (a+2));
printf("%p\n", (a+3));
}

0x7fffa9383ac4
0x7fffa9383ac8
0x7fffa9383acc
0x7fffa9383ad0
469 ◆QZaw55cn4c :2013/12/28(土) 11:37:08.53
>>418, >>430
ISO/IEC 9899:1999 7.20.3.2.1
void free(void *ptr);

ISO/IEC 9899:1999 7.20.3.2.1.2
If ptr is a null pointer, no action occurs.

△free(NULL) はセーフな場合もある
○ANSI 準拠ならfree(NULL) は問題なし
470デフォルトの名無しさん:2013/12/28(土) 11:39:47.18
マジかひどいな
圧力団体に配慮したのかね
471デフォルトの名無しさん:2013/12/28(土) 11:42:12.52
規格の美しさを鑑賞し世に広める美術館を作れ
472デフォルトの名無しさん:2013/12/28(土) 11:43:39.01
オプションで対処できるだろうに
473デフォルトの名無しさん:2013/12/28(土) 11:45:09.49
ごく一部のおかしな人の為に
NULLチェックとかあほらしすぎる
474デフォルトの名無しさん:2013/12/28(土) 11:46:45.99
>>469
英語の規格書読めるとかお前意外とすごい奴だったんだな
俺なんて規格書読むこと自体でじんましん出るのに英語なんて無理だ
475デフォルトの名無しさん:2013/12/28(土) 11:49:15.39
非互換の指摘はありがたいね
476デフォルトの名無しさん:2013/12/28(土) 11:53:06.77
>>470
未定義な部分を勝手に決め付けてひどいとか言い出すな
477デフォルトの名無しさん:2013/12/28(土) 11:55:37.68
いまどきのOSのmalloc()はNULLを返さないから、NULLチェックとかいらんだろ
478デフォルトの名無しさん:2013/12/28(土) 12:01:18.79
>>476
ん?
規格化されていたものが未定義になったってことでしょ?
日本語大丈夫か?

>>477
え?
確保時にすらNULLチェックしないの?
ここで話してるのは開放時のNULLチェックの話デスヨ
479デフォルトの名無しさん:2013/12/28(土) 12:15:25.02
つーかよく見たら
If ptr is a null pointer, no action occurs.
だから
同じじゃん
NULLならノーアクション
480デフォルトの名無しさん:2013/12/28(土) 12:17:41.98
>>477
「いまどきのOS」じゃ分からん
481デフォルトの名無しさん:2013/12/28(土) 12:24:10.03
中国人の出演者が、憲法15条を読むフリをしながら、虚偽の文章を朗読 - YouTube
https://www.youtube.com/watch?v=uoYuK5WmVLE

このくだりと似てるな
危うく騙されるところだったわ
482デフォルトの名無しさん:2013/12/28(土) 12:28:13.53
>>480
確保できない場合は、隣のPCのメモリを借りてくるOSとかw
483デフォルトの名無しさん:2013/12/28(土) 12:45:15.11
>>482
とりあえずアドレスを返して、実際にアクセスされたときにメモリがなかったら死ぬOS
484デフォルトの名無しさん:2013/12/28(土) 13:11:44.56
>>483
それだと、

「最小限の作業領域を予め配列で確保しておいて、
mallocで確保できない時は最小限の作業領域で処理する」

なんてことはできなくなるね。
485デフォルトの名無しさん:2013/12/28(土) 13:13:05.05
ま、なんにせよ ◆QZaw55cn4c さん待ちですね
486デフォルトの名無しさん:2013/12/28(土) 13:13:11.57
>>484
まあメモリが足らなくなったら潔く死ぬしかないね
487デフォルトの名無しさん:2013/12/28(土) 13:16:01.21
>>469
そういう誰でも知ってることを得意そうにレスすんな
誰も知らなかった ls -lでプログラムのメモリサイズを調べる方法とかレスしてりゃ良いんだよ ド底辺ゴミクズ野郎
488デフォルトの名無しさん:2013/12/28(土) 13:19:34.87
メモリーが足りなくなったら謝罪と賠償を要求する。
489デフォルトの名無しさん:2013/12/28(土) 13:20:04.32
プログラムのメモリサイズ

なにそれ?
490デフォルトの名無しさん:2013/12/28(土) 13:23:12.24
敢えて言おう。ポインタ演算なんぞ役に立たないと
学ぶだけ時間の浪費である。
491デフォルトの名無しさん:2013/12/28(土) 13:30:06.56
>>487
リストラにあったプロマネかしら?ざまぁwww
492デフォルトの名無しさん:2013/12/28(土) 13:41:04.33
>>490
実際に使うかどうかは別として、知識として持ってるのは大切だと思うが
493デフォルトの名無しさん:2013/12/28(土) 14:14:16.27
ソフトウェアやハードウェア、マルウェアというけど、言語ウェアと言わないのは何故でしょうか?
Cウェアとかいう言葉聞いたことないですよね。
494デフォルトの名無しさん:2013/12/28(土) 14:24:09.29
495デフォルトの名無しさん:2013/12/28(土) 14:36:21.04
身代金の支払いには50%の贈与税が掛かりますが、取り立てられた人はいますか?
また、身代金を受け取ると所得税がかかりますが、支払った人はいますか?
496デフォルトの名無しさん:2013/12/28(土) 14:38:17.46
何の言語で作られてるかっていうのは重要な要素じゃないからだろ
497デフォルトの名無しさん:2013/12/28(土) 14:48:02.45
>>495
ここに住所氏名連絡先を書いておいて
498デフォルトの名無しさん:2013/12/28(土) 14:55:46.70
>>490
学ぶ必要なんかないだろ、算数は義務教育だし
499デフォルトの名無しさん:2013/12/28(土) 15:07:03.46
#include<stdio.h>
int main(void)
{
printf("%d\n",(((((((((3+4)))))*(((((5))))-(((((3)))))))))));
}

これがエラーが出ないのは何故ですか?


#include<stdio.h>
int main(void)
{
printf("%d\n",3*{1+2});
}

こっちはエラーが出るのは何故ですか?
500デフォルトの名無しさん:2013/12/28(土) 15:11:04.48
>>499
エラーメッセージを貼って
501デフォルトの名無しさん:2013/12/28(土) 15:36:01.54
>>499
中カッコは複合型の初期化子やブロックとして使うものであって、式の結合を表すものではないから

上は普通に式だから
502デフォルトの名無しさん:2013/12/28(土) 18:47:44.29
>>495
あ、ひょっとして狂言誘拐って節税に使えるんだな
503デフォルトの名無しさん:2013/12/28(土) 19:01:34.07
保釈金の間違いでした。すいません
504デフォルトの名無しさん:2013/12/28(土) 23:38:12.84
Cで書いたプログラムを1行ずつjavaの文法に変えてクラスファイルにするという
アプリをCで作った場合、このアプリはコンパイラという事にはならないですか?
505デフォルトの名無しさん:2013/12/28(土) 23:41:40.16
>>504
高級言語から高級言語への返還はトランスレーターかな。
初期のC++コンパイラはCへのトランスレーターだったから、コンパイラといっても間違いではないかもしれない。
506デフォルトの名無しさん:2013/12/29(日) 00:28:20.44
そんなことを出来るような人がこの日本にいるとは思えんが・・・
507デフォルトの名無しさん:2013/12/29(日) 01:07:02.70
そんなことできるの?ポインタとかどうすんの
508デフォルトの名無しさん:2013/12/29(日) 01:16:19.35
上っ面だけJavaで、実装全部JNIってのなら、そうでもなさそう
509デフォルトの名無しさん:2013/12/29(日) 01:21:54.65
>>507
ポインタ=巨大なグローバルchar配列のインデックス
510デフォルトの名無しさん:2013/12/29(日) 01:38:26.64
中学の内からプログラミングの賞とか取ってる子いるけど、そういう子って
将来プログラマーとして大成しまくるんだろうな、中学でプログラミングや
ろうって思わないから、どうして俺は大学入ってからやっとやり出したんだ
悔やんでも悔やみきれない。
511デフォルトの名無しさん:2013/12/29(日) 01:54:30.16
そんなことで悔やむなw
俺は40過ぎてからCを始めたが、まったく悔やんでない。
512デフォルトの名無しさん:2013/12/29(日) 02:14:33.49
>>511
どーせ、簡単なもんしか書かないんだろ
見る世界が全然、違う
513デフォルトの名無しさん:2013/12/29(日) 02:18:09.34
難しいもんって、例えばどんなの?
514デフォルトの名無しさん:2013/12/29(日) 02:22:43.07
シミュレーティドエボリューション等のメタアルゴリズム等
515デフォルトの名無しさん:2013/12/29(日) 02:23:46.50
俺は中学の頃からやってたけど一度挫折した
本格的にやりはじめたのは大学から
516デフォルトの名無しさん:2013/12/29(日) 02:27:46.67
リファレンスボード用に、Linuxカーネルの改造とか
517デフォルトの名無しさん:2013/12/29(日) 02:41:30.30
>>510
世の中そんなに単純じゃない

仕事で使えるレベルの英語ができなければ日本で働くことになるが、日本のプログラマはITドカタ
納期までにバグなくコーディングが終わればよし、終わらなければ怒られる

雇われドカタが嫌なら自分で起業でもするか?
起業するならそれなりのアイデアとコネが必要
アイデアのない凄腕プログラマと、大学出てからプログラムやり始めた革新的なアイデアの湧いてくる奴を比べれば
どっちが大成するか分かるよな

Windows作った人も、Google作った人も、Facebook作った人も、Twitter作った人も、
プログラミングコンテストで賞を取ったという話は聞いたことがない

まぁそういうことだから大成したければアンテナ広げて色々考えろ
518デフォルトの名無しさん:2013/12/29(日) 02:44:51.44
Windows作った人か・・・
519デフォルトの名無しさん:2013/12/29(日) 02:46:47.85
派遣は人の生き方ができないからプログラマはやめといたほうが良いよ。
520デフォルトの名無しさん:2013/12/29(日) 02:50:44.32
>>514
ただの再帰じゃんw
521デフォルトの名無しさん:2013/12/29(日) 02:52:04.69
>プログラマーとして大成しまくる
この大成ってどういう状態か想像つかない。
大手ゲーム会社のチーフプログラマーとか?
522デフォルトの名無しさん:2013/12/29(日) 02:53:21.70
江添さんみたいに言語の文法を極めることじゃない?
523デフォルトの名無しさん:2013/12/29(日) 02:55:47.84
おれおれフレワを作ること
524デフォルトの名無しさん:2013/12/29(日) 03:01:46.25
>>522
文法だけできても意味が無い

あの手の連中はちっちゃなサンプルプログラムはかけるが
大規模なアプリケ−ションは作れない
525デフォルトの名無しさん:2013/12/29(日) 03:06:15.40
派遣は大きな応用を作るけど、派遣は人間関係悪いからやめたほうが良いよ。
出来るだけいい会社に入ったほうが良いのは、そこにいる人間が優秀で
人間関係もいいからだよ。
526デフォルトの名無しさん:2013/12/29(日) 03:12:07.30
>>521
この業界が糞だと早めに悟り別の業界に進み、プログラミングは趣味にw
527デフォルトの名無しさん:2013/12/29(日) 03:52:13.29
常駐先企業の人件費抑制に利用されただけの人生だったな残念
528デフォルトの名無しさん:2013/12/29(日) 03:57:50.64
文法覚えてコピペコーダーになるだけなら大して労力かからんだろ
Fラン文系私大卒でそういう就職した知り合いいるし
529デフォルトの名無しさん:2013/12/29(日) 04:12:04.66
プログラマーは金儲けの道具
壊れたら交換すりゃいいだけ
530デフォルトの名無しさん:2013/12/29(日) 04:12:58.03
>>517
ビルゲイツなどは起業家
テリー伊藤などはアイデアマン
どちらも、企業が欲しがる自立・提案型、
プロデューサー型人間
自分でアイデアを出して、実行してもうける人

企業がいらないのは、言われたことだけやる、
考えない、依存型、スタッフ型人間

とにかく企業は、自分らをもうけさせる人間が欲しいのよ
それが出来ないから、奴隷階級から搾取しよる
人材の採用がおかしい。まともな人をとってない
531デフォルトの名無しさん:2013/12/29(日) 04:17:47.63
ザッカーバーグも起業家だしラリーペイジも起業家
書いてみて思ったけどそりゃ創設者なら起業家だわな
つまり成功するには起業するしかない
532デフォルトの名無しさん:2013/12/29(日) 04:20:12.33
と派遣が申しております。
533デフォルトの名無しさん:2013/12/29(日) 04:39:44.20
プログラミング始めて10年以上経つけどBCCとGCCしか使ったことがない
534デフォルトの名無しさん:2013/12/29(日) 06:20:00.61
for文のカウント変数を後置か前置かでインクリメントするのって好みなんですか?
for (i=0; i<max; ++i) とか
for (i=0; i<max; i++) とか
535デフォルトの名無しさん:2013/12/29(日) 06:31:30.92
好みですが後置を薦める人が多いです。
536デフォルトの名無しさん:2013/12/29(日) 06:54:24.38
Cなら好み
537デフォルトの名無しさん:2013/12/29(日) 07:23:50.14
好みなんですね
ありがとうおはようございます
538デフォルトの名無しさん:2013/12/29(日) 07:44:19.15
>>530
スタッフ型は必要だよ、練度の高い現業がいなければ企業は回らない
プロデューサー型でありさえすれば良いわけでもなく、反乱分子は毒饅頭

おまえみたいのこそ、お偉いさんのスピーチを消化しきれず
言われたことを額面どおりオウム返ししてるだけの無能だろうが
539デフォルトの名無しさん:2013/12/29(日) 08:18:11.91
>>534
Cのみなら、うるさくいうひとは、いません。


この本は、i++になってる。
『プログラミング作法』
ブライアン カーニハン, ロブ パイク
http://www.amazon.co.jp/dp/4756136494
540デフォルトの名無しさん:2013/12/29(日) 09:06:02.88
プログラミングが必要なくなる時代って来ますか?
そんな時代がきたら怖いんですけど。
541デフォルトの名無しさん:2013/12/29(日) 09:28:34.77
>>540
どうしてですか?
542デフォルトの名無しさん:2013/12/29(日) 09:37:44.91
>>540
どんな形やレベルであれ、プログラミングという要素はなくならない、将来的には EXCEL の VBA/VB6 みたいになるかもしれないが
543デフォルトの名無しさん:2013/12/29(日) 10:56:02.16
ちっぽけな技術で差別化が図れなくなる時代のことではないか
544デフォルトの名無しさん:2013/12/29(日) 11:50:42.89
>>534
C++ の後置はコストが高いのだが、C だったら別に
545デフォルトの名無しさん:2013/12/29(日) 11:59:52.76
そのくらい最強オプティマイザ様がなんとかしてくれるだろ





してくれないの?
546デフォルトの名無しさん:2013/12/29(日) 12:02:10.23
>>545
別々の意味があるから勝手に最適化されても困る
547デフォルトの名無しさん:2013/12/29(日) 12:10:45.49
>>544
そういえばC++ のコードでよく見かけるような・・・
でも何だってそんなことに・・・言語名は後置なのに・・・
548デフォルトの名無しさん:2013/12/29(日) 12:15:02.76
>>545
してくれるよ
549デフォルトの名無しさん:2013/12/29(日) 12:18:49.74
>>545
そーゆーことは聞かないでやってみれ
実験できない人は黙ってなきゃいけないことだよ
550デフォルトの名無しさん:2013/12/29(日) 12:20:02.59
実際にやって見なきゃわからない奴はだまっとけよ。
やれば誰でもわかるだろw
551デフォルトの名無しさん:2013/12/29(日) 12:26:31.06
>>547
今すぐ++Cに改名すべきだな
552デフォルトの名無しさん:2013/12/29(日) 12:29:21.78
返り値を捨てる後置++という黒魔術を追加すりゃ良いだけ
553デフォルトの名無しさん:2013/12/29(日) 12:32:00.52
int c;
for (c = 0; c < 10000000000; c++) {}
printf("%d",c);
554デフォルトの名無しさん:2013/12/29(日) 12:46:26.72
カウンタで c は使わない
大半の int 4bit 環境ではあふれる
{} は ; でいい
555デフォルトの名無しさん:2013/12/29(日) 12:51:43.91
>>309,310
だいたい認識はあっていたようでした
ありがとうございます

>>312
自分も分かっていないのに返信をいただき
ありがとうございました
556デフォルトの名無しさん:2013/12/29(日) 15:50:33.65
>>510
関係無い
俺、ヤンマガに一度、新人賞取って、一時期、漫画家を目指してた
(編集と、うまがあわず諦めたが)
俺は、昔から落書きとか好きだったけど、美術で
良い成績取ったことは無いし
漫画自体を描いてみようと思ったのも、大学受験も終わって
漫画ってのを描いてみようと思ったのがきっかけだった。

ちなみにアインシュタインは、特許事務所で働きながら
独学で物理を勉強していた。
557デフォルトの名無しさん:2013/12/29(日) 18:42:44.31
気軽に++したら毎回システムコールしたますたとかサラッと有りえるからな
C++だと
558デフォルトの名無しさん:2013/12/29(日) 18:47:51.52
それ++がオーバーロードされてたらってことでそ?
intや生ポインタの++がオーバーロードされてたらそっちのほうが問題だわ
559デフォルトの名無しさん:2013/12/29(日) 19:06:25.42
foreachが標準になったからendで止めないと御節介に領域拡張するユトリコンテナとか普通に溢れてくると思うよ
560デフォルトの名無しさん:2013/12/29(日) 19:44:56.19
じゃintのi++にダメだししてるのはナンクセってことか
561デフォルトの名無しさん:2013/12/29(日) 20:00:40.33
プリミティブ型には後置++を使う
何となく
562デフォルトの名無しさん:2013/12/29(日) 20:40:49.32
スマホの発達で日本人全員がプログラマー化しないか心配
大丈夫かな?皆、ITに強くなりすぎてない?
563デフォルトの名無しさん:2013/12/29(日) 20:51:30.39
そこら中のOLがOfficeつかう感じでRubyでWebアプリとか
作るようにななるかもしれないが、その人達がC言語を使う
様になるとは思わない
ゴールドラッシュの金山で金を探すより、金の採掘者に
スコップを売ろうぜ
564デフォルトの名無しさん:2013/12/29(日) 20:51:31.98
iOSはUNIXだしAndroidはLinuxだし、Windowsしか選択肢が無かった頃より
確実にプログラマ化が進むだろね。
565デフォルトの名無しさん:2013/12/29(日) 21:17:15.20
iOSはUNIX?

なにをいってんの?
566デフォルトの名無しさん:2013/12/29(日) 21:21:22.55
567デフォルトの名無しさん:2013/12/29(日) 21:22:08.23
Windowsより優れているとも言ってる。
568デフォルトの名無しさん:2013/12/29(日) 21:22:15.37
よく読めよw
569デフォルトの名無しさん:2013/12/30(月) 02:38:58.58
冬休み中にアールピージーを作ろうと思います
夏休みにアールピージーツクールで作ったゲームを友達に見せたらシステムにオリジナリティーがないとバカにされたのでプログラミングで作ろうと思います
先輩にお願いしたら僕のパソコンでC言語だけは使えるようにしてくれたらしいです
先輩はお正月はおばあさんの実家で過ごすらしくて今は近くにいません
時間があまりとれないのでファイナルファンタジー14のようなクオリティは難しいと思うのでファイナルファンタジー6ぐらいのクオリティで我慢します
作り方を教えてください
よろしくお願いします
570デフォルトの名無しさん:2013/12/30(月) 03:02:22.91
ウィンドウを表示する
画像を読み込んでウィンドウに表示する
キー入力で表示する絵を切り替える
満足の行くレベルまで表示される絵のパターンを増やす
以上
571デフォルトの名無しさん:2013/12/30(月) 03:02:43.21
世界の終わり
572デフォルトの名無しさん:2013/12/30(月) 06:32:12.33
まずはメインループからだろ。
メインループ内にifでタイトルとメニュー画面と
マップと戦闘画面の分岐を作成する。
そしてそれぞれ関数を呼び、
関数はそれぞれ外部ファイルにする。
573デフォルトの名無しさん:2013/12/30(月) 06:41:10.29
まずはローグとかウィザードリィとかを目指したほうが良いと思うのだが
574デフォルトの名無しさん:2013/12/30(月) 10:13:02.49
釣り針でか過ぎってやつだろ
575デフォルトの名無しさん:2013/12/30(月) 13:51:25.30
お前たちのような小物は眼中にない!って意味だと思います。
大物狙い!
576デフォルトの名無しさん:2013/12/30(月) 14:31:35.03
>>572
それは関数ポインタにするべきでは?
毎フレームそんな条件分岐させるの?
577デフォルトの名無しさん:2013/12/30(月) 14:40:00.16
毎秒60回もの高負荷な条件分岐がおんどれらを襲う!!!
578デフォルトの名無しさん:2013/12/30(月) 14:48:28.11
分岐自体はそんな負荷ないでしょ。
そっから先の処理のが重い。
579デフォルトの名無しさん:2013/12/30(月) 14:49:40.76
そういえばメニュー画面出したときにメニュー画面の背景がマップのままになってるゲームって結構あるけど、
あれってマップを管理してる中にメニューの管理も入ってるのかね
580デフォルトの名無しさん:2013/12/30(月) 15:02:52.25
画面を重ねてスクリーンに描画してるんだよ。
画面ごとに別のオブジェクト。
581デフォルトの名無しさん:2013/12/30(月) 15:05:19.28
つか、その辺はOSが用意してるフレワだから、ゼロから作らない。
プレステもiPhoneもAndroidも。
582デフォルトの名無しさん:2013/12/30(月) 15:06:32.55
フレームワーク抜きでいきなり言われても

ダブルバッファリングから説明が要るかも知れんのにw
583デフォルトの名無しさん:2013/12/30(月) 15:31:25.24
頭痛によく効きそうだと思いました。
584デフォルトの名無しさん:2013/12/30(月) 15:49:49.73
プログラマなら俺様フレワから作るだろ
585デフォルトの名無しさん:2013/12/30(月) 15:52:39.03
初心者がゲーム作りに良いframeworkって何よ?
curses?SDL?
586デフォルトの名無しさん:2013/12/30(月) 18:39:26.39
初心者なら MT Framework 2.0 一択
587デフォルトの名無しさん:2013/12/30(月) 18:41:41.58
>>586
すまないが初心者未満は帰ってくれないか
588デフォルトの名無しさん:2013/12/30(月) 18:43:14.97
fpsって固定のほうがいいの?
589デフォルトの名無しさん:2013/12/30(月) 18:46:47.55
固定は無理でしょ
590デフォルトの名無しさん:2013/12/30(月) 18:49:23.76
60fps固定でいいんじゃないの
591デフォルトの名無しさん:2013/12/30(月) 18:56:16.67
普通はユーザーが選べるようにする
15fps
30fps
60fps
120fps
辺りで
592デフォルトの名無しさん:2013/12/30(月) 19:06:05.60
120fpsって違いわかるの?
593デフォルトの名無しさん:2013/12/30(月) 19:19:22.90
>>530
日本の教育がおかしいんだよ
奴隷生産工場になってる
最近は品質低下も起こってる
594デフォルトの名無しさん:2013/12/30(月) 19:23:51.47
>>563
金属(金じゃなくて)探知機つけたらバカ売れするだろうね
595デフォルトの名無しさん:2013/12/30(月) 19:34:46.56
金鉱脈を探すにはエル字型の棒を二本使います。
596デフォルトの名無しさん:2013/12/30(月) 19:59:49.00
顧客に「攻撃を受けたのでシステムダウンしました」と虚偽の報告をする三菱
インフォメーションシステムズのSEの方が孫請けのベテランPGより給料良い
こんな腐った業界にはクズしか集まらない
597デフォルトの名無しさん:2013/12/30(月) 20:05:01.59
>>595
Bitcoin鉱脈でも探しとれw
598デフォルトの名無しさん:2013/12/30(月) 20:29:05.99
>>592
動きがヌルヌルになる
599デフォルトの名無しさん:2013/12/30(月) 20:36:30.65
だが臨場感とやらを実現するにはもっともっともっと手間がかかる
600デフォルトの名無しさん:2013/12/30(月) 20:41:05.84
https://www.youtube.com/watch?v=1GzUfOjRViA
https://www.youtube.com/watch?v=vsTyOGf4w70

30fpsと60fpsってあんまり違いがわからない
601デフォルトの名無しさん:2013/12/30(月) 20:52:15.65
YouTube自体が60fpsもなくなかったか?
602デフォルトの名無しさん:2013/12/30(月) 20:53:06.23
html5プレーヤとかいうのを有効にすればぬるっと動くみたい
603デフォルトの名無しさん:2013/12/30(月) 21:37:48.28
格闘ゲームのコマンド入力ってどうやって処理するの?
普通は毎フレーム、キーの入力状態を調べるから、
コマンドの判定が難しいと思うんだけど

例えば↓→Aというコマンドがあったら、入力はこんな感じで取得してしまうだろ
↓↓↓→→AAAA
604デフォルトの名無しさん:2013/12/30(月) 21:40:44.68
>>603
入力状態が前のフレームと変化したタイミングで押下、押上って判断したらいいんじゃないの。
実際のゲームはどうしてるか知らんけど。
605デフォルトの名無しさん:2013/12/30(月) 21:42:55.75
え?
606デフォルトの名無しさん:2013/12/30(月) 21:52:47.60
↓↓↓→→AAAA って入力が ↓→A って正規化できればいいんでしょ?

どこが難しいかわからないくらい簡単な処理だのような気がするけど、素人目には
わからない落とし穴でもあるのかな。
607デフォルトの名無しさん:2013/12/30(月) 21:56:42.48
それで←→→Aはいけるの?
608デフォルトの名無しさん:2013/12/30(月) 21:59:59.21
>>607
え、そのパターンだとなんか難しいことがあるの?
→→って二回入力の間が一フレーム以下の短い間隔で行われるとか?
609デフォルトの名無しさん:2013/12/30(月) 22:08:18.02
>>606
バーチャファイターという格闘ゲームは
→Pと、→(長押し)Pで違う技が出たりするが
それはどう対応するつもりだろう
610デフォルトの名無しさん:2013/12/30(月) 22:11:20.57
>>609
→の入力のフレーム数をカウントすればいいだけなんじゃないの。
611デフォルトの名無しさん:2013/12/30(月) 22:18:52.92
割り込みじゃなくてポーリングでしょ
立ったままスクリューパイルドライバーとかブレイクスパイラル出せるのはそのせい
61218:2013/12/30(月) 22:19:51.40
>>603
スイッチって離したことも検出できるんだよ...
613デフォルトの名無しさん:2013/12/30(月) 22:31:20.86
何回もスーパードンキーコングの話してすいませんが、ドンキーコングって
例えばジャングルの面だと、地面がでこぼこしてるけど、地面に合わせてドンキー
が上がったり下がったりするじゃないですか、あのリアル感どうやって出すんですか?
障害物が無い時はふつうに平らな面みたいなのでもいいですけど物足りないので。
614デフォルトの名無しさん:2013/12/30(月) 22:34:58.94
マリオワールドの斜めの高低差をもっと細かくしてあるだけだろ。
615デフォルトの名無しさん:2013/12/30(月) 22:35:32.09
>>614
でも滅茶苦茶細かいですよ。
616デフォルトの名無しさん:2013/12/30(月) 23:03:58.93
大抵のゲームエンジンは当たり判定を勝手にやってくれる
617デフォルトの名無しさん:2013/12/30(月) 23:13:38.72
適当に高さを持たせて線形補完してるだけだろ
618デフォルトの名無しさん:2013/12/30(月) 23:17:26.35
>>616
大抵の?
俺の作ったゲームエンジンは当たり判定なんかしてくれないよ
619デフォルトの名無しさん:2013/12/30(月) 23:21:58.53
リソースマネージャの作り方を教えてください
620デフォルトの名無しさん:2013/12/31(火) 00:29:31.14
何の?
621デフォルトの名無しさん:2013/12/31(火) 01:03:00.33
ゲームの
622デフォルトの名無しさん:2013/12/31(火) 03:50:09.15
当たり判定は、各自で工夫します
623デフォルトの名無しさん:2013/12/31(火) 04:05:48.11
当たり判定どころか、基本的な衝突処理はエンジンがやるだろ
624デフォルトの名無しさん:2013/12/31(火) 04:15:44.05
基本的なってどこまでが基本的なんだよ
625デフォルトの名無しさん:2013/12/31(火) 04:26:25.97
>>624
ぶつかってどかーん!ぐらいが基本
626デフォルトの名無しさん:2013/12/31(火) 05:50:21.46
2DRPGについて質問です
マス単位で管理してる2DRPGのマップで、
道が立体交差してる部分はどうすればよいのでしょうか?
今は各マスに歩けるかどうかのフラグを持たせていますが、立体交差の部分をどうすればよいか分かりません

 ┃┃
━┫┣━
━┫┣━
 ┃┃

今の歩けるかどうかのフラグだと、上の道と下の道が重なっている部分で自由に移動できてしまいます
627デフォルトの名無しさん:2013/12/31(火) 06:34:19.07
高さ情報をもたせる
628デフォルトの名無しさん:2013/12/31(火) 06:43:25.97
どうしても白黒マップにしたけりゃ手前のマスに扉イベント付けりゃいいじゃん
629デフォルトの名無しさん:2013/12/31(火) 06:53:44.80
入ってきた方向を保存して出ることが可能な方向を限定するだけじゃん
630デフォルトの名無しさん:2013/12/31(火) 07:08:50.07
cをお勉強するためイクリプスやらコンパイラのminGWなど入れてハローワールドが実行できるようにまではいきました

ですが外部実行でプロンプトで実行結果がでるようにしたかったりで色々いじくったんですがcIコマンドが使えなかったり使えるようにするためのコンパイラのファイルがどこにあるのか
ひっちゃかめっちゃかでわかりません

cやcぷら開発ってビジアルスタジオのほうが便利で簡単なのでしょうか
631デフォルトの名無しさん:2013/12/31(火) 09:43:41.97
>>626
> 今は各マスに歩けるかどうかのフラグを持たせていますが、立体交差の部分をどうすればよいか分かりません

縦に歩ける、横に歩けるの2ビットで管理する
632デフォルトの名無しさん:2013/12/31(火) 09:51:01.49
>>626
見た目が同じ2枚のマップを用意してこっそり入れ替えるw
633デフォルトの名無しさん:2013/12/31(火) 09:54:45.43
>>626
立体交差をやめてモノレールにする
634デフォルトの名無しさん:2013/12/31(火) 10:02:43.85
2Dマップをやめて3Dマップにする
635デフォルトの名無しさん:2013/12/31(火) 10:12:23.34
636デフォルトの名無しさん:2013/12/31(火) 11:32:30.27
>>530
優秀な人たちは、企業のジジイたちの介護なんか選ばないだろ
637デフォルトの名無しさん:2013/12/31(火) 13:40:11.52
>>632
それだと同じマップ内に階段があって上って立体交差ってのができなくなりますぜ旦那
638 忍法帖【Lv=14,xxxPT】(1+0:5) :2013/12/31(火) 13:54:20.09
テスト
639 忍法帖【Lv=32,xxxPT】(1+0:5) :2013/12/31(火) 13:56:55.42
yrdy
640デフォルトの名無しさん:2013/12/31(火) 13:58:44.28
データの量は大きくなるけど、マップをレイヤー構造にするのがベストかと。
レイヤーごとに高さが決まっていて、高さの数字の隣り合ってるレイヤー間は移動可能にする。
レイヤー2からレイヤー1と3には移動可能、レイヤー2からレイヤー4には移動不可みたいな。
階段上って立体交差する場合は、下の通路をレイヤー1、階段をレイヤー2、上の通路をレイヤー3にする。
641デフォルトの名無しさん:2013/12/31(火) 14:26:49.81
チップのしたをくぐれるようにしたうえで >>632 でいいんじゃないの
エディタとかまで考えるとやたらめんどくさい
642デフォルトの名無しさん:2013/12/31(火) 14:34:24.99
>>630
俺はイクリプスクソと判断してVS使って利よ
643デフォルトの名無しさん:2013/12/31(火) 16:04:37.72
FF13の戦闘画面は常にカメラが動いています
ほとんど動いてないように見える部分でもわずかに動いています
このカメラワークはどういうアルゴリズムなのでしょうか?
ttp://www.youtube.com/watch?v=msN-qI2CIgg
644デフォルトの名無しさん:2013/12/31(火) 17:12:03.44
悪いが お前の面倒を見る余裕は
645デフォルトの名無しさん:2013/12/31(火) 18:16:23.49
AMDのCPUのKaveriが出る前にGPGPUの勉強しときたいんだけど、
CとC++どっち勉強したらいい?
646デフォルトの名無しさん:2013/12/31(火) 18:17:06.58
C
647デフォルトの名無しさん:2013/12/31(火) 18:19:48.79
>>646
ありがとう、昔ポインタでつまづいてたけど
今は概念わかったので頑張るよ〜(なんで当時わかんなかったのかは謎)
648デフォルトの名無しさん:2013/12/31(火) 18:22:15.49
時の力は偉大だね
649デフォルトの名無しさん:2013/12/31(火) 18:38:52.05
初心者にありがちだと思いますが、メモリの中身なんて想像もしてなかったから・・・・
650デフォルトの名無しさん:2013/12/31(火) 20:02:34.52
ゲームのカメラワークはなくていいよ
3d酔いするから
651デフォルトの名無しさん:2013/12/31(火) 21:01:56.43
2Dでも、普通はキャラを中心カメラが追従するけど、狭いマップだとカメラ固定の場合があるよね
あれってどうすんの?
652デフォルトの名無しさん:2013/12/31(火) 21:11:39.38
スレチ
653デフォルトの名無しさん:2013/12/31(火) 21:16:02.39
ワールド座標で位置を管理しといて

・常時キャラ位置=描画中心位置: 中心追従型
・キャラ位置とは無関係に描画中心位置を固定する: 固定表示
・描画中心位置を キャラ位置から少しだけ計算する: 半固定表示(テキストウィンドウのスクロール風)
※ 描画中心から半画面ほどキャラ位置が離れた時だけ 描画中心位置を加減算する
654デフォルトの名無しさん:2013/12/31(火) 21:46:14.63
BOOL camSolid;

struct POSITIONDATA{
   int x, y;
}charaDrawPos, camLookAtPos;

if ( camSolid ){ //カメラ固定時
   charaDrawPos = GetCharactorPos();
   camLookAtPos = MakePosition( 0, 0 );
}else{ //カメラ非固定時
   charaDrawPos = MakePosition( 0, 0 );
   camLookAtPos = GetCharactorPos();
}

//描画
DrawMap( &charaDrawPos, &camLookAtPos );
DrawCharactor( &charaDrawPos, &camLookAtPos );
655デフォルトの名無しさん:2013/12/31(火) 21:54:19.71
もっとふさわしいスレがある

ゲームプログラムなら俺に聞け29
http://toro.2ch.net/test/read.cgi/tech/1381578085/
656デフォルトの名無しさん:2014/01/01(水) 00:24:59.04
カメラは固定でマップとかキャラを動かすんだろ。
657デフォルトの名無しさん:2014/01/01(水) 00:55:13.84
データが無ければスクロールしないようにしてあれば
狭いマップはスクロールしようにも出来ないだけでは
658デフォルトの名無しさん:2014/01/01(水) 02:41:00.78
マップチップを2次元配列で管理してると左上のほうに行ったときにxかyの要素が-1になってその瞬間に落ちる
659デフォルトの名無しさん:2014/01/01(水) 03:43:29.40
そういえば昔、3DMMORPGを作ろうと思って設計してたんだけど、
マップを立方体で空間分割して配列で管理しようとして詰んだことがある。
>>658とほぼ同じ内容。
最初のマップがmap[0][0][0]で、
追加するマップがそれよりマイナスの方向になると詰む。
MMORPGでは後からどんどんマップが追加されるのが普通だからこの方法は不可。
もちろんプラスの方向にしか追加しないのであればこれでも構わないが、
地球は丸いのに出発点が隅っこというのは不自然。
余裕を持たせてmap[1000][1000][1000]を出発点にするという方法も考えられるが、
所詮は1000が限界。
プラス側にはメモリの許す限り拡張できるのに、
マイナス側は1000までというのは気持ちが悪い。
660デフォルトの名無しさん:2014/01/01(水) 03:50:22.46
ベースとオフセットで分離すればおk
661デフォルトの名無しさん:2014/01/01(水) 03:56:40.70
662 【ぴょん吉】 【534円】 :2014/01/01(水) 08:23:55.94
あけましておめでとうございます
今年もよろしくお願いします
663デフォルトの名無しさん:2014/01/01(水) 15:41:56.70
>>661
サンプルコード書いてくれ
664デフォルトの名無しさん:2014/01/01(水) 15:59:52.71
簡単のために平面で説明するけど、要は現在のマップ(ブロック・範囲)の周囲のマップがわかればいいんだろ
■を現在いるマップだとすると、こんな感じで周囲がわかればよい

□□□
□■□
□□□

これをプログラムに落とし込むために番号を振ると

012
3  4
567

この情報を持っていればよいから

struct MAP
{
int myid;//真ん中(自分)のID
int inheritid[8];
};

マップの数だけこれを配列にでもして用意すればよい
調べるときは最初からmyidを検索していって、現在いるマップのidが見つかったらその周囲のマップを取得する
マップ間移動時以外には調べることもほとんどないだろうし負荷的にも問題ない

これで全範囲拡張可能
665デフォルトの名無しさん:2014/01/01(水) 16:44:59.92
ありえないよw
666デフォルトの名無しさん:2014/01/01(水) 17:09:48.80
コードも出せない>>665が草生やしててワラタ
今年一発目のゴミの書き込み>>665
667デフォルトの名無しさん:2014/01/01(水) 17:25:50.54
おまえが今年二発目のゴミの書き込み>>666
668デフォルトの名無しさん:2014/01/01(水) 17:26:13.01
画面の左上と右下の座標だけ分かってたら他いらないじゃん
669デフォルトの名無しさん:2014/01/01(水) 17:34:55.84
>>659
メモリを連続させるからマイナスを扱えないだけ
mapをブロック単位に分割して
前後左右上下のブロックのアドレスを真ん中のブロックに持たせるといくらでも拡張できる
読み込むときはパケットのTTL的な感じでロードしていけばいい
670デフォルトの名無しさん:2014/01/01(水) 17:47:44.90
>>651
{_[__@__]_}
{[__@__]__}
{[_@___]__}
{[@___]___}
{[_@___]__}
{[__@__]__}
{_[__@__]_}
{__[__@__]}
{__[___@_]}
{__[____@]}
{__[___@_]}
{__[__@__]}
{_[__@__]_}

単純化すればこんなイメージ。
671デフォルトの名無しさん:2014/01/01(水) 17:51:30.77
>>663
>>660だけどニュアンスとしてはこんな感じ(ゲームを作ったことがないから詳しくは分からない)
http://ideone.com/sKEuG0
>>664>>669が言ってることを一次元でやると多分こんなのになる
プレイヤーの位置情報とテーブルを参照してロードされるべきマップのアドレスを割り出す
テーブルの作り方とかもっと効率良くできるのだろうけどよーわからん
672デフォルトの名無しさん:2014/01/01(水) 18:08:11.54
wikiを見ればなんとなくニュアンスがつかめると思うけど
プレイヤーの位置をマップのインデックスに直に対応させるのがだめ
例えばプレイヤーが(-1,-1)座標にいたらあるマップの(100,100)に対応させる
その為にはプレイヤーの座標をマップのインデックスに変換させる仕組みが必要
673デフォルトの名無しさん:2014/01/01(水) 18:25:58.62
あ ごめん>>664>>669が言ってることは全くやってないわw
でも意図していることは多分同じだと思う
読み込みたい座標をうまいことマップのインデックスにしましょう
674デフォルトの名無しさん:2014/01/01(水) 18:32:37.37
>>659
んなアホなデータ構造をつかう奴が完成させられるとは、とうてい思えない
675デフォルトの名無しさん:2014/01/01(水) 18:33:27.27
上のプログラムだとtableって関数でロードしたい座標をマップのインデックスに変換してる。
if文つかってるからマップが増えれば増えるほどif文を増やさないといけない糞コードだけど
>>664>>669のやり方だとマップ自身に隣のマップが何かって情報を持たせているから拡張しやすいのかな
676デフォルトの名無しさん:2014/01/01(水) 18:37:14.88
>>675
それはもう本当に設計から考えなおせ
どう考えてもゲームを作れるような基礎すらできてない
677デフォルトの名無しさん:2014/01/01(水) 18:43:29.89
俺はゲームつくらねえよ
プログラミング自体たまーにやる程度だ
ただ>>659が変なこと言ったから自分なりに説明しただけだ
678デフォルトの名無しさん:2014/01/01(水) 18:45:18.18
ffみたいなゲームも基本的にはパラパラ漫画なんですか?
とてもそうは思えませんが。
679デフォルトの名無しさん:2014/01/01(水) 18:47:44.68
高速なパラパラ漫画
一秒間に三十枚とか六十枚
680デフォルトの名無しさん:2014/01/01(水) 19:00:59.13
そもそもモニター自体が一秒間に静止画を何枚も表示する装置だ
681デフォルトの名無しさん:2014/01/01(水) 20:06:06.52
>>678
画面で動くものは全てパラパラ漫画だと思ってていいよ。
FF、映画、エロ動画、テレビ、変態ビデオ、ゲーム、etc
嘘だと思うなら「テレビ fps」とかでググってみればいい。
682デフォルトの名無しさん:2014/01/01(水) 20:13:30.41
固定fpsでゲーム作ろうかと思うんだけど、30と60どっちがいいだろう
ポンコツPC使ってる人にもプレイして欲しがったら30fpsかな
683デフォルトの名無しさん:2014/01/01(水) 20:28:53.35
そうだねプロテインだね
684デフォルトの名無しさん:2014/01/01(水) 21:02:47.02
人間の目はどういう風に捉えてるの?
685デフォルトの名無しさん:2014/01/01(水) 21:13:16.07
宇宙の外には何があるの?
686デフォルトの名無しさん:2014/01/01(水) 21:32:25.27
>>685
インフレーション状態の宇宙がある
687デフォルトの名無しさん:2014/01/01(水) 22:09:47.79
インフレーション状態の宇宙の外には何があるの?
688デフォルトの名無しさん:2014/01/01(水) 22:31:54.26
>>682
宮崎駿アニメとかfps高くてリアリティ出そうとしているけど
俺はfpsに頼るの嫌いなんだよね。
あしたのジョーとかタイガーマスクとかみたいに劇画に線で動きを出したり、
ボカシで補間する方が人間の感覚に近くて良いと思うんだ。
689デフォルトの名無しさん:2014/01/01(水) 22:51:03.78
そもそもC言語でゲーム作ろうってのが間違い
690デフォルトの名無しさん:2014/01/01(水) 23:02:42.08
1秒に1億回以上も計算できるCだとゲーム作ったら安定しまくりじゃないの?
691デフォルトの名無しさん:2014/01/01(水) 23:08:22.14
例えばジャンプするという動作は
20飛ぶとして、キャラのビット数が100*100としたら
1万×20=20万

ジャンプして着地するまで2秒だから、Cの計算回数20億回
と20万を比べると、19億1980万回余分に処理できることになる。
Cは最強といっても過言ではないだろう。
692デフォルトの名無しさん:2014/01/01(水) 23:10:25.46
間違えた19億9980万回だね、キャラが飛んでる間に19億回9980回分の
違う処理ができる。これは凄すぎるんじゃないだろうか。
693デフォルトの名無しさん:2014/01/01(水) 23:18:09.87
694デフォルトの名無しさん:2014/01/01(水) 23:20:09.72
これがかの有名なフェルミ推定か
695デフォルトの名無しさん:2014/01/01(水) 23:27:09.19
ガチでハードわかんねーやつのようだ
696デフォルトの名無しさん:2014/01/02(木) 00:08:42.81
>>691
そんなに計算しないでしょ
キャラグラフィックの足の位置だけでしょ
あとはGPUに丸投げでしょ
697デフォルトの名無しさん:2014/01/02(木) 00:31:57.27
プログラミング・コンテストでは、
C++, Javaを使うが、
アルゴリズムの計算量は、百万/sなら楽勝、
1千万/s超えると辛くなる

TopCoder
ttp://toro.2ch.net/test/read.cgi/tech/1333159918/l50
698デフォルトの名無しさん:2014/01/02(木) 02:03:44.52
かんせいまでの道のりを安定させるのが先だろ
699デフォルトの名無しさん:2014/01/02(木) 12:01:56.67
>>697
その通り
700デフォルトの名無しさん:2014/01/02(木) 21:02:21.91
3Dゲームじゃないのに異常にメモリ使うのは何故なんだろう?
2Dの同人アクションゲームです。
701デフォルトの名無しさん:2014/01/02(木) 21:13:51.59
C言語検定試験ってどうなん?
702デフォルトの名無しさん:2014/01/02(木) 21:17:30.46
渋谷
703デフォルトの名無しさん:2014/01/02(木) 21:23:50.29
>>700
□画像がBMPでしかも異常に解像度が高くビット数も32
□アホみたいにたくさん音声ファイルを使っている
□しかもその音声ファイルがビットレートを無駄に高くしたWAVEやMP3
□画像や音声ファイルのロード/アンロードが面倒だからと最初に全部読み込んでいる
□まともなリソースマネージャを作ってないから同じグラフィックのモンスターでもモンスターの数だけ画像を読み込んでいる
□音声ファイルもモンスターの数だけ読み込んでいる
704デフォルトの名無しさん:2014/01/02(木) 21:24:55.82
新宿
705デフォルトの名無しさん:2014/01/02(木) 21:27:28.71
GATO みたいに5億ブロックとかあるやつを、ロード時間ゼロでやろうとすると簡単に・・
706デフォルトの名無しさん:2014/01/02(木) 21:32:07.45
銀座
707デフォルトの名無しさん:2014/01/02(木) 21:39:19.66
>>703
やっぱりマルチメディア関連なんですね
ありがとう!
708デフォルトの名無しさん:2014/01/02(木) 21:39:37.18
>>700
画像だろうね
一般的なソフトなら設定で変更できると思うよ
709デフォルトの名無しさん:2014/01/02(木) 21:44:19.52
strcpyで上書きするにはどうしたらいいですか?

char s[10]="abcd"

strcpy(s,"efg");

sがefgdじゃなくて
abcdefgになってありたいです。
710デフォルトの名無しさん:2014/01/02(木) 21:45:05.94
C言語検定試験なんてあるんだ
知らなかった
711デフォルトの名無しさん:2014/01/02(木) 21:47:11.45
>>709
strcpyじゃなくてstrcatを使うべし
712デフォルトの名無しさん:2014/01/02(木) 21:47:20.86
どういても strcpy でなければいけないのであれば
strcpy(s+4,"efg");

連結できれば良いのなら
strcat(s, "efg");
713709:2014/01/02(木) 22:14:02.33
>711-712
ありがとうございます。
今、RPGを作ろうと思ってて、

王様「よく来たな、〇〇

の〇〇の部分にプレイヤーが自分で決めた名前を入れたかったのです。

これで開発が進みます。
感謝します。
714デフォルトの名無しさん:2014/01/02(木) 22:16:10.54
string無しで文字とか扱いたくねぇ
715デフォルトの名無しさん:2014/01/02(木) 22:18:34.45
俺も、一番やりたくないわ。
仕方ないからやるけど、注意深くやるから疲れるし
716デフォルトの名無しさん:2014/01/02(木) 22:27:12.92
確かにstring無しは辛い
やっぱりC++か……いや、Cも原始的で良いかも……
717デフォルトの名無しさん:2014/01/02(木) 22:29:43.45
CとJAVAの文字列の扱いやすさってどっちが勝ってる?
具体的に教えて下さい。
718デフォルトの名無しさん:2014/01/02(木) 22:33:49.03
>>717
明らかにJava
Cは文字列と言っても文字の集まりとしてしか考えられないけど、Javaには専用のString型がある
719デフォルトの名無しさん:2014/01/02(木) 22:35:12.09
>>718
CにできなくてJAVAにできる事ってなにがあります?
連結、結合、1文字単位のアクセス
全て両方できると思いますが。
720デフォルトの名無しさん:2014/01/02(木) 22:37:29.10
処理系にデフォルトで組み込まれているGCが無いだろ
不要になった文字列を回収しなくてよいのはスゲー楽
721デフォルトの名無しさん:2014/01/02(木) 22:39:35.79
連結や結合操作を演算子で記述できるところかなぁ
722デフォルトの名無しさん:2014/01/02(木) 22:39:36.76
>>719
mallocとかfreeは使った事ある?
723デフォルトの名無しさん:2014/01/02(木) 22:40:15.18
正規表現かな?
Cのみの正規表現ライブラリ
おすすめありますか
724デフォルトの名無しさん:2014/01/02(木) 22:44:28.62
鬼車
725デフォルトの名無しさん:2014/01/02(木) 22:48:20.84
なまえは、きいたことあります。
72618:2014/01/02(木) 22:51:29.41
>>719
できる、できないだとできないことはない。
ただ、同じことするにも楽かどうかは段違いに違う。
727デフォルトの名無しさん:2014/01/02(木) 22:51:43.22
>>720
不要になった文字列は放置すればいいのでは?
何故GCが必要なの?
728デフォルトの名無しさん:2014/01/02(木) 22:53:55.36
>>727
チリも積もれば山となる
メモリリークも積もればOSのハングアップ
729デフォルトの名無しさん:2014/01/02(木) 22:57:58.02
コーディング能力とアプリケーションの設計能力は全く別物だということがよく分かるスレだな
C言語には精通していても設計能力は全くないボンクラがこのスレには多い
730デフォルトの名無しさん:2014/01/02(木) 22:59:30.06
>>728
メモリリーク?スラッシグンでは?
731デフォルトの名無しさん:2014/01/02(木) 23:00:30.48
>>726
この人の言ってる事がおそらく一番正しい
732デフォルトの名無しさん:2014/01/02(木) 23:01:34.45
必殺技!スラッシグン!
733デフォルトの名無しさん:2014/01/02(木) 23:11:04.03
パリイ
734デフォルトの名無しさん:2014/01/02(木) 23:19:35.92
無敵配列奥義
LIFOLIFOアタック!!!!
735デフォルトの名無しさん:2014/01/02(木) 23:23:21.68
C言語最終奥義
オールマロック!!!!!!!!!!!!
736デフォルトの名無しさん:2014/01/02(木) 23:30:34.82
mallocなんてランタイムの実装信用出来ないから
OSのヒープ関数直接使うだろ。Cプログラマーなら
737デフォルトの名無しさん:2014/01/02(木) 23:31:46.54
使わねーよ ばか
738デフォルトの名無しさん:2014/01/02(木) 23:34:43.48
C言語最終奥義!!
OSアタック!!!
while(∞)
{
malloc(int 100^100)
}
739デフォルトの名無しさん:2014/01/02(木) 23:52:29.71
Cじゃねーよそれ
740デフォルトの名無しさん:2014/01/02(木) 23:55:32.91
赤坂
741デフォルトの名無しさん:2014/01/03(金) 00:41:52.30
while(∞)
これ見て、何かを悟った気がする
742デフォルトの名無しさん:2014/01/03(金) 00:52:44.68
質問です
東京自体行ったことないのですが、赤坂とはどんな場所なのでしょうか?
赤坂サカスと呼ばれる商業施設があることくらいしか知りません
赤坂サカスと呼ばれる施設が何なのかも知りません
743デフォルトの名無しさん:2014/01/03(金) 00:55:43.46
誤爆
744デフォルトの名無しさん:2014/01/03(金) 04:04:46.23
>>736
その”OSのヒープ関数”というもの内部で
mallocなわけだが・・・
745デフォルトの名無しさん:2014/01/03(金) 04:44:24.65
んなこたーない
746デフォルトの名無しさん:2014/01/03(金) 05:26:10.77
昔のRPGはただ敵をぬっ殺せばよかったのに、
最近のRPGは得点だのランクだの1戦おきに表示してくるな。
そんなにあちこち気が回るかボケ。
747デフォルトの名無しさん:2014/01/03(金) 09:38:24.92
全力で暴れても fork 爆弾すら出てこない雑魚か
748デフォルトの名無しさん:2014/01/03(金) 12:28:35.90
>>729
何歳で精通したの?
749デフォルトの名無しさん:2014/01/03(金) 13:21:18.97
アイテム画面で十字キーを押すとカーソルが目にも止まらぬ速さで動くのですがどうしたらいいですか?
前フレームの入力と比較して、前フレームと今フレームのどちらも押下されてる場合は動かないようにしてみたのですが、
そうすると今度はキー押しっぱなしでカーソル移動ができなくなりました。

一般的なゲームのアイテム画面のように、押下すると1アイテムだけ動き、そのまま0.5秒くらい押しっぱなしにすると、0.2秒/アイテムくらいのスピードでカーソルが動くようにしたいです。
750デフォルトの名無しさん:2014/01/03(金) 14:00:37.69
どのフレームワークを使ってるかしらないけど
repeat delay interval
この辺りのキーワードで探せば見つかるかと
751デフォルトの名無しさん:2014/01/03(金) 14:09:32.17
>>729
コーディング能力と設計能力が別だって思ってる人間のほうが開発を理解できてないわ。
752デフォルトの名無しさん:2014/01/03(金) 14:29:31.30
いきがるんじゃねえFラン、専門出の土方ども。、
753デフォルトの名無しさん:2014/01/03(金) 14:32:07.67
>>749
キーを押してからの時間を測ればいいんじゃない
fps 固定ならフレーム数か
754デフォルトの名無しさん:2014/01/03(金) 14:35:28.24
>>751
別だろ
建築の設計者と現場の大工の能力を比較するのかおバカさん
755デフォルトの名無しさん:2014/01/03(金) 14:42:14.18
ゲームプログラミングに興味持ったのが21性器以降だから
1ビット単位で節約してた時代を想像できない
756デフォルトの名無しさん:2014/01/03(金) 15:00:05.25
いくら21世紀だとしても、例えば登場キャラが100万人いるとして、
100万人の顔画像を1人づつシコシコ作らないだろ。
モンタージュで生成とか考えるだろ。
757デフォルトの名無しさん:2014/01/03(金) 15:05:39.31
アイテムってみんなどうやって管理してるんだろ

#define TYPE_WEAPON 1000
#define TYPE_ARMOR 2000

struct WEAPONDB{
int atpow;
char name[32];
};
struct ARMORDB{
int defpow;
char name[32];
};

struct MYITEM{
int type;
int itemid;
int num;
};

こんな感じ?
758デフォルトの名無しさん:2014/01/03(金) 15:16:39.17
>>757
C++ で STL を使えばいいよ
759デフォルトの名無しさん:2014/01/03(金) 15:18:15.34
>>754
ソフトウエア開発と建築の区別がつかないほうが馬鹿だろ。
760デフォルトの名無しさん:2014/01/03(金) 15:23:07.70
下流の工程はできないけど上流はできるって言ってるやつは、上流もろくにできてないな。
761デフォルトの名無しさん:2014/01/03(金) 15:25:12.49
>>757
ゲーム開発ならCよりC++の方が楽かな
762デフォルトの名無しさん:2014/01/03(金) 15:27:12.29
>>754

コードとは設計である
http://www.atmarkit.co.jp/news/200904/10/matz.html
ソフトウェア産業界では、よくエンジニアが何十万人足りないということが言われる。しかし、まつもと氏は、
これは工業生産と同じ方法論を当てはめることから来る誤解だという。ソフトウェアは大量生産するもので
もなければ、部品の組み立てのような工程もないからだ。

 「ソフトウェア工場はうまくいかないんですね。なぜなら部品の組み立てに相当するものが、アップロード
とかDVDに焼くといった工程ぐらいしか存在せず、効率化しようないからです」。

 コード(ソフトウェア)を書くというのは、組み立てのことではなく、製造業でいう「設計」に相当するという。

 「クルマを作るときに、まず形や強度の設計をしますよね。それこそがソフトウェア作りです。ソフトウェア
作りは、最初から最後まで工業製品でいう設計に当たるんです」。
763デフォルトの名無しさん:2014/01/03(金) 15:52:18.74
>>762
モジュールを画面上で組み合わせるだけの作業は紛れもなく組立だろう
764デフォルトの名無しさん:2014/01/03(金) 16:02:37.18
>>763
何を言いたいのかkwsk
765デフォルトの名無しさん:2014/01/03(金) 16:14:37.69
何とかレポートとかで数十枚、数百枚の帳票をポトペタしてればそりゃコーダーが足りなくもなるわな。
でもそれは、単に方法論を知らない人間が仕切ってるに過ぎない。

工場のベルトコンベア方式みたいな単純作業は、メタプログラミングやコードジェネレータで片づけようと考えるのがまっとうなエンジニア。
766デフォルトの名無しさん:2014/01/03(金) 17:00:19.87
言語だけはやたら詳しいが、実際のプロジェクトの中では全く使えないやついるよな
実際のプロジェクトは全体を見通せる力がないと、いくらC/C++の知識が豊富でも
使いものにならない
767デフォルトの名無しさん:2014/01/03(金) 17:06:56.11
C/C++の豊富な知識を生かして最下流で仕事してもらえばいいと思う
768デフォルトの名無しさん:2014/01/03(金) 17:14:40.06
下流の工程をできない人間が、自分は上流ならできる、下流だけの人間より上だって思ってるのもありがちだな。
その上流もろくにできてないのに。
769デフォルトの名無しさん:2014/01/03(金) 17:30:41.50
就職率も,男子58.9%,女子70.2%で,
女の方が高いしな
770デフォルトの名無しさん:2014/01/03(金) 17:33:08.99
>>762
Rubyが成功してるんなら、まだしも説得力が有ったんだけどね。
771デフォルトの名無しさん:2014/01/03(金) 17:35:27.12
>>762の話は本当に腑に落ちるわ。
772デフォルトの名無しさん:2014/01/03(金) 17:39:26.18
FF6のデジョンのような表現はどうやっているのだ?

描画の深度的には画面に近いほうから、魔法エフェクト→モンスター→背景だと思ってたけど
それでは説明がつかない
http://www.youtube.com/watch?v=49LvniUUuPc#t=7m5s

モンスター→エフェクト→背景かと思ったけど
モンスターがエフェクトの境界を境に背景に消えてるから
背景に魔法エフェクトサイズの穴を空けて、その下にモンスター→魔法エフェクトの順に描画してるように見える
でもそうすると魔法発動前はモンスターが背景に隠れてしまう
どうなってるんだ?
773デフォルトの名無しさん:2014/01/03(金) 17:52:48.46
穴を開けてるんじゃなくて、魔法エフェクトの形状でモンスターをクリップしてる。
クリップをどう実現するかはフレワによるが、かなりスレ違いだと思う。
774デフォルトの名無しさん:2014/01/03(金) 18:11:14.99
>>769
ふぇぇ
775デフォルトの名無しさん:2014/01/03(金) 18:50:05.13
>>769
大卒の?
高卒の?
776デフォルトの名無しさん:2014/01/03(金) 18:59:44.17
>>775
大卒。
誤爆なので、あれです
777デフォルトの名無しさん:2014/01/03(金) 19:07:53.91
こんなに就職率低いのか。

こんなところへ賃上げさせたらさらに就職率下がるんじゃないか?
賃上げさせられ、解雇も難しい、となれば後は雇わないくらいしかできない。
そして人員増やさないから一人当たりの労働量は増え、過労がさらに加速するんじゃないか?
778デフォルトの名無しさん:2014/01/03(金) 20:03:07.56
ゲーム業界の就職率ってどうなんだろうな
779デフォルトの名無しさん:2014/01/03(金) 20:07:29.03
むしろ離職率とか
780デフォルトの名無しさん:2014/01/03(金) 20:11:28.34
ゲーム会社への就職率0のゲーム専門学校の話とかあるからな。
そういうの考えたらすごい就職率低そう。
(最初からあきらめてゲームメーカーには応募してないかもしれないけど)
781デフォルトの名無しさん:2014/01/03(金) 20:20:17.74
Javaの話ですいませんが
スレッドってゲーム作るときに絶対必要ですか?
javaでスレッドを使わずにテトリス(音楽無し)とか作れますか?
メインループでブロックを移動させたらいいだけなのに
スレッドを作る理由が分かりません。
782デフォルトの名無しさん:2014/01/03(金) 20:24:16.20
>>781
Cとかでゲームを作るときはスレッド使わないから、Javaでも同じように作ったらいいんじゃないの。
783デフォルトの名無しさん:2014/01/03(金) 20:24:29.44
必要になるまで使わなくてヨシ。それだけ。
784デフォルトの名無しさん:2014/01/03(金) 20:25:10.05
JavaのスレッドはWin32のファイバに相当、あるいはLinuxのプロセスに
相当するくらい速いので、使わない理由がない。
785デフォルトの名無しさん:2014/01/03(金) 20:26:27.40
>>784
そもそもスレッドを使う理由が分かりません、スレッドって何ですか?
プロセスという事は分かるのですが詳しくは分からなくて…
786デフォルトの名無しさん:2014/01/03(金) 20:27:13.35
むしろスレッドはGUIとかでよく使う
787デフォルトの名無しさん:2014/01/03(金) 20:28:17.56
プライマリスレッドは使う
788デフォルトの名無しさん:2014/01/03(金) 20:28:58.70
ネット対戦テトリスならスレッド使う
789デフォルトの名無しさん:2014/01/03(金) 20:29:28.51
UNIXってなんですか?
どこでUNIXを使うんですか?どこで手に入れるんですか?
あと今C言語を勉強してるんですけどこの延長でできますか?
790デフォルトの名無しさん:2014/01/03(金) 20:30:46.83
>>786
そうですテトリスはGUIです、何故GUIでスレッドを使うんですか?
GUIで必要なのはグラフィック描画クラスだけだと思います。
791デフォルトの名無しさん:2014/01/03(金) 20:34:02.22
>>785
ああ、すいません。
>>784は忘れてください。

プロセスが一つのマシン内で同時に処理が走るものだとすると、
スレッドは、一つのプロセス内で同時に処理が走るものです。
少なくともそう見えます。

プロセス間ではメモリーの読み書きがお互いにめんどくさいし遅いですが、
スレッド間では同じメモリーを読み書きできます。
ということで、スレッド間では情報を軽く共有できます。
同じ変数を読み書きするだけですから。
これが一番大きな違いです。
792デフォルトの名無しさん:2014/01/03(金) 20:34:14.65
>>790
グラフィックスを表示するまでの計算に時間が掛かるとOSはプログラムが停止したと判断しただろ?
793デフォルトの名無しさん:2014/01/03(金) 20:36:34.99
>>789
UNIXは駅前の果物屋で売ってました。
ちょっとかじってあったので買いませんでしたが。
794デフォルトの名無しさん:2014/01/03(金) 20:39:12.90
プログラミングが得意じゃない俺には以下のプログラムが理解できません。

ext-web.edu.sgu.ac.jp/nikku/nikkunisemi/nikkunisotuken2003/03_study/03_product/03_nishiduka/java4_4.html

paintというメソッドが発動するのはいつでしょうか?
引数がイベントリスナーなら、イベントが発生したときに発動するメソッド
と分かりますが、この場合paintの引数はGraphics gです。
どうやったらpainメソッドが発動するのでしょう?
paintという文字列で検索しましたが、repaintが2個、paintが1個だけでした。
795デフォルトの名無しさん:2014/01/03(金) 20:41:46.50
>>794
ソースが長すぎるので3行にまとめてください。
読む気がしないです。
お正月なんで。
みかんがおいしいです。
796デフォルトの名無しさん:2014/01/03(金) 20:42:51.05
>>795
想像でも構いません。paintは描画ですよね。
何故他のメソッドでpaintが見当たらないんでしょうか…
797片山博文MZコスモ ◆T6xkBnTXz7B0 :2014/01/03(金) 20:44:01.54
>>789
UNIXはC言語で記述されたOSの一種。商標。
UNIXは多分有料だが、無料のLinuxというOSでだいたい同じことができる。
Linuxにも色々種類があってUbuntuというのが人気ある。
Ubuntuのイメージをダウンロードしてvirtualboxという仮想マシンにインストールして試してみるといい。
もちろんイメージを焼いたCD/DVDがあれば、本物のパソコン(実機)にもインストールできる。
798デフォルトの名無しさん:2014/01/03(金) 20:45:02.99
>>797
片山さんお願いします。
1週間>>794のコードを見つめて解読したのですが全然わかりません。
paintはいつ発生するんでしょうか?
799デフォルトの名無しさん:2014/01/03(金) 20:45:21.34
UNIXはMac。
他のUNIXは高いので見ちゃいけません。
そんなの常識。
800デフォルトの名無しさん:2014/01/03(金) 20:46:24.32
Ubuntu もスパイウェア
801デフォルトの名無しさん:2014/01/03(金) 20:47:53.26
javaのソースコードの難しさは異常
802デフォルトの名無しさん:2014/01/03(金) 20:48:58.61
Debian 系は、糞
803片山博文MZコスモ ◆T6xkBnTXz7B0 :2014/01/03(金) 20:52:05.31
>>798
インターフェイスがメソッドへのポインタを所有しているから、
アプレットのインターフェイスの所有者が、再描画したいときにpaintメソッドを呼ぶ。
804デフォルトの名無しさん:2014/01/03(金) 21:00:06.70
>>803
ご返事ありがとうございます
描画のタイミングはスレッドってことか、うん?分からないぞ
805デフォルトの名無しさん:2014/01/03(金) 21:02:14.50
分からない、分からないぞ、何故スレッドを使うんだ、
ループの中に処理を書くじゃだめなのか??
806デフォルトの名無しさん:2014/01/03(金) 21:03:39.99
ソフトってどうやって作るんですか
807デフォルトの名無しさん:2014/01/03(金) 21:09:08.69
>>803
普通はいつ呼び出されるんでしょうか?
808デフォルトの名無しさん:2014/01/03(金) 21:10:36.92
ゲームの作り方を教えてください
809デフォルトの名無しさん:2014/01/03(金) 21:11:27.75
まずはMASMというプログラムを入手して下さい
810デフォルトの名無しさん:2014/01/03(金) 21:11:32.92
ゲームプログラムなら俺に聞け29
ttp://toro.2ch.net/test/read.cgi/tech/1381578085/
811デフォルトの名無しさん:2014/01/03(金) 21:11:34.63
スレッドを使うとどうやって時間制御したらいいんだろう?
812デフォルトの名無しさん:2014/01/03(金) 21:13:44.14
本読め
813デフォルトの名無しさん:2014/01/03(金) 21:16:13.62
アメリカのPRISMみたいなシステムってC言語で作れますか?
814片山博文MZコスモ ◆T6xkBnTXz7B0 :2014/01/03(金) 21:20:00.78
>>807
OSやGUIの仕組みを勉強するとわかると思うが、ウィンドウが隠れたりしたときや新しく作成したときなどに再描画が
必要だと判断されて、OSから再描画メッセージがウィンドウのスレッドに渡される。スレッドはすぐに描画できるとは限らないので、
イベント駆動方式でメッセージを、メッセージキューに溜め込んでメッセージフローを緩衝させる。
スレッドが描画したら再描画メッセージを取り除く。
815デフォルトの名無しさん:2014/01/03(金) 21:21:49.39
>>813
どれだけ苦労するかは別としてCに出来ない事などない!
816デフォルトの名無しさん:2014/01/03(金) 21:26:14.55
>>811 排他制御
817デフォルトの名無しさん:2014/01/03(金) 21:32:08.61
Cで最強のシステム作ろうぜ!
818デフォルトの名無しさん:2014/01/03(金) 21:33:55.93
>>806
1.コンピュータにわかる形式で手順を記述する(コーディング)。
2.コンピュータに手順を処理させる(コンパイル・インタプリト)。
3.実行手順を確認して間違いを修正する(デバッグ)。
4.配付できる形式に変換し、配付する(リリース)。
819デフォルトの名無しさん:2014/01/03(金) 21:34:29.39
じゃぁ俺が叩き台書いてみる

int main()
{
 while(0){
   //do something;
 }
 exit(0);
}
820デフォルトの名無しさん:2014/01/03(金) 21:40:26.57
>>816
デッドロック怖いです
821デフォルトの名無しさん:2014/01/03(金) 22:02:40.23
>>814
おっ、つまりrepaint()ですかね?
repaint→paintですか?

何か分かったきがする^-^;

>>816
sleepじゃないんですか?
822デフォルトの名無しさん:2014/01/03(金) 22:05:02.70
ロック、ロック、デッドロック!
イカした野郎のヘビーロック!
823デフォルトの名無しさん:2014/01/03(金) 22:10:42.91
そんなに気になるなら、JDK 5.0 のソースコードでも見とけ
824デフォルトの名無しさん:2014/01/03(金) 22:39:08.91
2次元配列に2バイト文字(ひらがな)を入れ、printfで出力したいのですが、どのように宣言し、出力すればよろしいのでしょうか?
825デフォルトの名無しさん:2014/01/03(金) 22:47:37.85
char *aa[] = {"あいうえお", "かきくけこ", "さしすせそ"};
int i;
for (i = 0; i < 3; ++i) printf("%s\n", aa[i]);
826デフォルトの名無しさん:2014/01/03(金) 22:48:43.03
>>821
Javaはアプリがpaint();を持っていたらウィンドウ描画時にpaint();がコールされるのだろう。

自分でウィンドウ内のアイテムを書き換えたら再描画したいのでrepaint();をコールすると
repaint(); → Java → OS → Java → paint();

アプリのウィンドウが今まで隠れていたけど表に出された、という時は
OS → Java → paint();
とコールされる感じだろう。
827デフォルトの名無しさん:2014/01/03(金) 23:04:07.86
>>825 ありがとうございます。
このような感じで、入力した位置で2バイト文字を表示したいのですが、その場合はどのようにすればよろしいでしょうか??
a[1][3]='あ';
printf("%s%s%s%s%s\n",a[0][0],a[0][1],a[0][2],a[0][3],a[0][4]);
printf("%s%s%s%s%s\n",a[1][0],a[1][1],a[1][2],a[1][3],a[1][4]);
828デフォルトの名無しさん:2014/01/03(金) 23:08:50.02
int i;
int j;
for(i=0;i<2;i++){
for(j=0;j<5;j++){
printf("%s",a[i][j]);
}
printf("\n");
}
829デフォルトの名無しさん:2014/01/03(金) 23:23:17.18
>>827
エスパーするとglibやicuを使うといい

'a'と"a"
%s %c
NULL終端
文字コード
input-charset exec-charset
このあたりの基本的な事が分かっていないようだから
入門書の1冊ぐらいには目を通したほうがいいと思う
830デフォルトの名無しさん:2014/01/03(金) 23:25:09.40
あとencodingも
831デフォルトの名無しさん:2014/01/03(金) 23:35:10.46
#include <stdio.h>

int main(void)
{
printf("Hello World!\n");
return 0;
}
832デフォルトの名無しさん:2014/01/03(金) 23:36:11.62
833デフォルトの名無しさん:2014/01/03(金) 23:38:59.75
マルチバイト文字を文字列単位で扱う
const char *a[2][5] = {{"あ","い","う","え","お"},{"か","き","く","け","こ"}};
a[1][3]="あ";
printf("%s%s%s%s%s\n",a[0][0],a[0][1],a[0][2],a[0][3],a[0][4]);
printf("%s%s%s%s%s\n",a[1][0],a[1][1],a[1][2],a[1][3],a[1][4]);
834デフォルトの名無しさん:2014/01/03(金) 23:49:42.19
wchar_t a[] = {L'あ',L'い',L'う',L'え',L'お', L'\0'};
int i = 0;
while(a[i])
   putwchar(a[i++]);
835デフォルトの名無しさん:2014/01/03(金) 23:52:45.36
>>834
2バイト文字でないケースもある
836デフォルトの名無しさん:2014/01/04(土) 00:06:46.55
>>835
wchar_t a[] = {L'あ', L'a', L'\0'};
でもok
837デフォルトの名無しさん:2014/01/04(土) 00:08:18.05
>>836
通じなかったかな
sizeof(wchar_t)
838デフォルトの名無しさん:2014/01/04(土) 01:47:46.04
そもそもC言語の名前の由来って何?
Bの次だから?
839デフォルトの名無しさん:2014/01/04(土) 02:33:58.19
知ってるなら言うな
840デフォルトの名無しさん:2014/01/04(土) 03:45:39.44
そんなことより「C言語」の「言語」って余計じゃね?
Cだろ
841デフォルトの名無しさん:2014/01/04(土) 03:53:32.34
困ったらデニスに聞こうぜ!
842デフォルトの名無しさん:2014/01/04(土) 03:53:50.57
COBOL開発者は女性
女性はろくな仕事をしない事がまた証明されてしまった
843デフォルトの名無しさん:2014/01/04(土) 04:22:50.67
wcharとかドライバ弄るときに使ったけど二度と使いたくないな
844デフォルトの名無しさん:2014/01/04(土) 05:06:05.22
むかーし、むかし、SJIS⇔JIS⇔EUCの相互変換ライブラリ作ったなぁ
標準のstdio.hとstring.hだけで
845デフォルトの名無しさん:2014/01/04(土) 06:39:46.12
おしゃべりだから冗長な設計をした。
846 ◆QZaw55cn4c :2014/01/04(土) 08:08:02.28
>>842
ソースは?
847 ◆QZaw55cn4c :2014/01/04(土) 09:56:58.44
>>846
このコテも流出で信用出来なくなってしまったから他のコテにしたら?
848デフォルトの名無しさん:2014/01/04(土) 10:45:51.59
後で責任回避するときに便利だから使い分けると言ってた
849 ◆QZaw55cn4c :2014/01/04(土) 10:47:23.22
なりすまさなくてもバカを晒す奴にわざわざなりすますかよw
850 ◆QZaw55cn4c :2014/01/04(土) 10:55:57.59
荒らすのに便利だけれどもム板以外では知名度がいまいち
851デフォルトの名無しさん:2014/01/04(土) 11:25:16.67
>>840
元々、日本語とか英語とかの意味での「言語」ではないから問題ない。
「表記」の方が正しいが、「言語」で定着してしまった。
852片山博文MZコスモ ◆T6xkBnTXz7B0 :2014/01/04(土) 11:35:09.30
「C」だけだと、検索が難しい。短けりゃいいって訳ではない。
人工言語の一種だからC言語で正しい
853デフォルトの名無しさん:2014/01/04(土) 11:35:52.04
「English語」とか「Japanese語」とかおかしいだろ。
「C言語」もおかしい。
854デフォルトの名無しさん:2014/01/04(土) 11:37:00.99
cは大体引っかかるけどDはlanguage D にしないとダメだな
855デフォルトの名無しさん:2014/01/04(土) 11:40:05.86
原題は「The C Programming Language」ですから
文句なら石田晴久に言え
856デフォルトの名無しさん:2014/01/04(土) 12:29:53.60
おかしい。だが便利だから使い続ける。以上
857デフォルトの名無しさん:2014/01/04(土) 12:35:55.66
>>855
あの爺、遠の昔に死んだわ
大学でちょっとした黙祷なんてやらされていい迷惑だった
858デフォルトの名無しさん:2014/01/04(土) 12:36:56.55
リッチーは生とる?
859デフォルトの名無しさん:2014/01/04(土) 12:37:34.24
それとK
860デフォルトの名無しさん:2014/01/04(土) 12:38:08.36
デスリッチーに進化したよ
861デフォルトの名無しさん:2014/01/04(土) 12:43:26.69
デスリッチー
862デフォルトの名無しさん:2014/01/04(土) 12:48:56.76
デス●ッキー
863デフォルトの名無しさん:2014/01/04(土) 12:51:56.57
>>853
「シー言語」にしろって言いたいの?
864デフォルトの名無しさん:2014/01/04(土) 12:57:03.44
しーしーこいこい、シー言語。
865デフォルトの名無しさん:2014/01/04(土) 13:00:52.91
検索結果に
C++はC#、Javaノイズ
CはPHPノイズ
が目立つな
866デフォルトの名無しさん:2014/01/04(土) 13:04:50.11
>>863
いや「English語」や「Japanese語」を「イングリッシュ語」とか「ジャパニーズ語」って書いても変じゃん。
867デフォルトの名無しさん:2014/01/04(土) 13:06:21.02
検索カテゴリーを絞るのとは別の話だ。
868デフォルトの名無しさん:2014/01/04(土) 13:28:30.67
>>866
じゃあアルファベットで3番目だから「う言語」?
869デフォルトの名無しさん:2014/01/04(土) 14:06:51.47
FacebookだかTwitterだかが使ってるscalaって言語について調べてみたんだけど、
Javaの資産を使って高速で開発できる言語って認識でいいのかな
870デフォルトの名無しさん:2014/01/04(土) 14:18:40.74
Javaは糞重いイメージしかない。
871デフォルトの名無しさん:2014/01/04(土) 14:19:21.02
規格では英語でも日本語でも C だね

検索ワードを「C」だけなんて現実にはない
Cとは何かならWikiで探せるし
ふつー調べたいことに関係するワードがなにかしらある

それより、小文字で c はガイキチ臭がただようね
拡張子の .c はともかく
872デフォルトの名無しさん:2014/01/04(土) 14:21:42.37
ゲームにC++使うメリットが分からない
余程複雑なAIでも搭載するのか?

普通の2DRPG程度ならCで十分
873デフォルトの名無しさん:2014/01/04(土) 14:26:31.34
ゲームはむちゃくちゃオブジェクト指向向きの題材だな
874デフォルトの名無しさん:2014/01/04(土) 14:38:01.87
>>872
逆に俺はおまえの理屈がわからん

>余程複雑なAIでも搭載するのか?
YESならC++なの?
875デフォルトの名無しさん:2014/01/04(土) 14:40:30.67
CHARACTORCLASS chara;
MAPCLASS map;
chara.Draw();
map.Draw();
ってできるって意味?

CHARACTORSTRUCT chara;
MAPSTRUCT map;
CharaDraw( &chara );
MapDraw( &map );
で十分じゃん。
876デフォルトの名無しさん:2014/01/04(土) 14:47:22.37
RPGの戦闘でダメージ計算をするときってどうやって計算する?
int DamageCalc( 攻撃者の攻撃力, 命中率, クリティカル率, 属性, 付加ステータス(毒とか), 被害者の防御力, 被害者の回避率, 被害者の弱点属性, 被害者の耐性属性, 被害者の耐性ステータス );
みたいな感じ?
877デフォルトの名無しさん:2014/01/04(土) 14:56:24.57
>>875
普通のGUIプログラミングでも、描画する要素は、windowとかwidgetとかルートの
クラスをもっていて、描画に共通する要素をまとめてるじゃん。
だから、ボタンとかラベルとかボタンも同じロジックで扱える。
ゲームだって、おんなじなんじゃないの。
878デフォルトの名無しさん:2014/01/04(土) 17:21:38.46
>>872
逆にC++を使わない理由が分からん
879デフォルトの名無しさん:2014/01/04(土) 17:25:10.25
STLの焼き直しの部分が汚くなるんだよなぁ
880デフォルトの名無しさん:2014/01/04(土) 17:26:16.32
>>876
構造体使えよ
881デフォルトの名無しさん:2014/01/04(土) 17:30:50.29
>>880
確かにwwww
882デフォルトの名無しさん:2014/01/04(土) 17:44:32.49
昔はゲームだとC++をベターCで使うのが多かった
今はC++としてちゃんと使えてるのかな
883デフォルトの名無しさん:2014/01/04(土) 17:49:13.92
>>875
十分って言えば十分だけど
それ、呼び出し側はあんまり変わらなくても
クラス(構造体)の実装側はCで書くと大変だろ
仮想関数とかと同じように機能する処理が必要ならCは悪夢だは
ポータビリティ考えなくて良いならC++の方が良い
単にC+オブジェクト指向の範囲で使えばいい
でもチーム開発でC++採用すると「おまえはその言語の全ての機能を
使わないと死ぬ病気にでもかかってるのか?」って聞きたくなる
様な奴が必ず現れるんだよな
884デフォルトの名無しさん:2014/01/04(土) 18:53:45.84
きもPerlうざうざ



 

 
 
きもPerlうざい
885デフォルトの名無しさん:2014/01/05(日) 04:59:27.04
例えば2Dアクションゲームでモンスターが100匹出てくるとするじゃん?
C++でクラス使えばそれぞれの動作も
for(i=0;i<100;i++)
{
mobObj[i].Run();
}
ってやるだけでいけるし、
例えば詠唱に時間がかかるが狙ったmobに確実に当たる魔法とかだったら
mobObj[targetID].magichit(magicID);
とかでいけるわけよ
886デフォルトの名無しさん:2014/01/05(日) 10:13:56.36
正直、そのやり方はオブジェクト指向の悪い例だと思ってる

モンスターの動きなんて、フィールドやプレイヤーの状態、コンフィグ、その他あらゆる状況で変化するもので
たかが monster.cpp があらゆるヘッダを参照するハメになる
スイッチ1個増えるだけで全コンパイルだ

モンスターとかは構造体に止めといて

for(i=0;i<100;i++)
 if(Config.xxx){
  monster[i].x += 1;
 }
 else{
  monster[i].x += 2;
 }
}

みたいにしないと、依存関係が一瞬で破綻するよ
887デフォルトの名無しさん:2014/01/05(日) 10:24:04.88
>>885
イテレータ使えよ
888片山博文MZコスモ ◆T6xkBnTXz7B0 :2014/01/05(日) 10:25:31.53
>>886
pimplイディオムを知らないの?
889デフォルトの名無しさん:2014/01/05(日) 10:26:30.02
>>886
それ、同じようなswitchがコード中にちらばってるっていう、オブジェクト指向の悪い例にでてくるコードじゃん。
890デフォルトの名無しさん:2014/01/05(日) 11:09:59.81
>>888
pimpl くらいはしってるよ
monster,h がいろいろ参照して〜なら pimpl 使えば解決だけど、
monster.cpp 自体がいろいろ参照するのは解決できないでしょ

>>889
確かにそこはデメリットだけど
>>886 のデメリットと比較するとまだマシって感じ


聞くけどさ、じゃあそのモンスターが、壁にぶつかったときに音を鳴らす場合はどうする?
まさかモンスタークラスが、(おそらく唯一の)サウンド管理オブジェクトまでアクセスする?
891デフォルトの名無しさん:2014/01/05(日) 11:48:47.62
>>885
for(i=0;i<100;i++){
mobRun(&mobdata[i]);
}

mobmagichit(&mobdata[targetID],magicID);

はい論破
892デフォルトの名無しさん:2014/01/05(日) 11:53:23.67
モンスターの種類が今後ぬるぬる増える可能性が高くて
なおかつ担当者ごとに分担するようなケース

↑でなければいらないんじゃねw
893デフォルトの名無しさん:2014/01/05(日) 12:06:57.39
分担でもそんなに問題ないだろ。
モンスターのAIとかはスクリプトとかで実装するだろうし。
894デフォルトの名無しさん:2014/01/05(日) 12:12:45.19
>>886
お前のヘッダの作り方がおかしいだけだと思う
895デフォルトの名無しさん:2014/01/05(日) 12:14:10.36
ディスクで提供されるコンシューマー機のゲームのRPGと呼ばれるジャンルのソフトウェアは魔法を使うときだけ魔法エフェクトとか読み込んでる?
本体に耳を付けてゲームしてて気付いたんだけど、魔法とか選択したら、キャラが魔法使う直前にディスクがギュインって音立ててるんだよ、敵でも同様
896デフォルトの名無しさん:2014/01/05(日) 12:18:59.11
>>895
なんでC言語スレで聞くの?
ググれないの?
897デフォルトの名無しさん:2014/01/05(日) 12:21:26.04
知らないなら黙ってればいいのにw
898デフォルトの名無しさん:2014/01/05(日) 12:25:00.22
ゲームにもよるだろうけど
最近のFFみたいに派手なエフェクトだったら
戦闘開始時にいちいち全部読み込まないだろ
899デフォルトの名無しさん:2014/01/05(日) 13:00:40.45
>>897
ググりかたも知らないのかよ
黙ってろカス
900デフォルトの名無しさん:2014/01/05(日) 13:12:30.92
一度使った魔法はキャッシュしとくだろ普通。
901デフォルトの名無しさん:2014/01/05(日) 13:21:02.14
メモリと工数に余裕があれば
902デフォルトの名無しさん:2014/01/05(日) 13:30:34.42
魔法3個くらいキャッシュする余裕あるんじゃない?
エフェクトデータ3個と全魔法の使用回数を保持しておいて、
その戦闘での使用回数の多いものからエフェクトをキャッシュ
903デフォルトの名無しさん:2014/01/05(日) 14:04:59.08
>>895
具体名を出しましょう。

世界、アジア、東アジア、北東アジアなんじゃそら?
ガキのおねだりじゃないんだから相手してられませんよ
904デフォルトの名無しさん:2014/01/05(日) 15:40:25.86
音声データもでしょ
最近のゲームは普通の会話でも音声入ってたりするけど
あれも再生する直前に1区切りずつ音声読み込んでながしてる
905デフォルトの名無しさん:2014/01/05(日) 19:13:02.07
なにいってんだこいつ
906デフォルトの名無しさん:2014/01/05(日) 21:25:05.31
ソースコードに配列でデータを記録しておくとコンパイルに時間かかりますか?
例えば10万人分の身長と体重を配列で保存するみたいなのを、ソースコードの中に
書きます。10万行になりますが大丈夫ですか?
907デフォルトの名無しさん:2014/01/05(日) 21:28:16.32
100メガバイトのCファイルって問題ありますか?
コンパイル失敗しそうじゃないですか?
908デフォルトの名無しさん:2014/01/05(日) 21:53:49.28
そんなもんハードコーディングしてるやつ見かけたら全力で逃げる
909デフォルトの名無しさん:2014/01/05(日) 23:14:09.80
>>906
なんでそんな事すんの?
exeが肥大するだけなんだけど
別にやりたけりゃ反対する理由もないけどデータ変わったりしたらどう対応する
つもりなのかみものだ
910デフォルトの名無しさん:2014/01/05(日) 23:17:31.98
釣り針でか過ぎ
911デフォルトの名無しさん:2014/01/05(日) 23:18:03.09
>>909
ドットアニメ作りたいんで。
912デフォルトの名無しさん:2014/01/05(日) 23:22:39.44
ドットアニメで使うキャラクターが決まってるんで
二次元配列でキャラの位置情報を確保しておきたいんです。
データファイルにしたほうがいいですか?
913デフォルトの名無しさん:2014/01/05(日) 23:24:05.60
>>912
データファイルにした方が、細かい修正掛けたりするとき楽だろうと思う
914デフォルトの名無しさん:2014/01/05(日) 23:25:57.32
そうですかねー
915デフォルトの名無しさん:2014/01/05(日) 23:27:30.02
未来永劫そのデータの変更は一切ないってんなら止めないけど、
どちらがいいかときかれたらデータファイルをおすすめする。
916デフォルトの名無しさん:2014/01/05(日) 23:29:33.63
RPGか?
昔ゲ製板でRPGのデータをハードコーディングしてた奴がいたけど収拾つかなくてエターなってたな
917デフォルトの名無しさん:2014/01/05(日) 23:31:34.98
それはエターに理由付けしたかっただけ
918デフォルトの名無しさん:2014/01/05(日) 23:43:30.00
どうせ画像とか音声は外部データにするんだろ
位置情報もついでに外部データにしてしまえよ
919デフォルトの名無しさん:2014/01/05(日) 23:46:50.01
個人で作るならデータファイルにしてもハードコーディングでも大差ないさ
面倒なのはバランス調整で値を変えるたびにビルドしなければならない時ぐらい
920デフォルトの名無しさん:2014/01/05(日) 23:57:22.04
STL使うかどうかは別として、データの管理としては>>757でいいの?
921片山博文MZコスモ ◆T6xkBnTXz7B0 :2014/01/06(月) 00:04:59.55
すべてのアイテムに名前がつくなら処理もデータ構造も共通化した方がいいな
922デフォルトの名無しさん:2014/01/06(月) 00:06:34.96
>>921
お前はアイテムに名前付けなくていいから引っ込んでろ
ケツからウンコ垂れる池沼が
923片山博文MZコスモ ◆T6xkBnTXz7B0 :2014/01/06(月) 00:10:57.41
さらにすべてのアイテムにイメージもあるとしたら、それを描画する処理も共通化した方がいいな
924デフォルトの名無しさん:2014/01/06(月) 00:14:25.46
>>923
お前はアイテムのイメージ作らなくていいから引っ込んでろ
鼻毛の生えてる池沼が
925片山博文MZコスモ ◆T6xkBnTXz7B0 :2014/01/06(月) 00:16:49.08
アイテム共通の構造体ITEMを作る。
typedef struct ITEM {
char name[32];
char image_name[32];
void *image;
} ITEM;
926片山博文MZコスモ ◆T6xkBnTXz7B0 :2014/01/06(月) 00:26:24.43
すべてのアイテムには種類があるから種類IDで区別できた方がいいな
構造体ITEMにint type_id;を追加
武器、防具、道具の構造体を用意する
typedef struct ITEM_BUKI {
ITEM item;
float kougeki_ryoku;
} ITEM_BUKI;
927デフォルトの名無しさん:2014/01/06(月) 00:28:26.99
誘導

ゲームプログラムなら俺に聞け30
http://toro.2ch.net/test/read.cgi/tech/1388933972/
928片山博文MZコスモ ◆T6xkBnTXz7B0 :2014/01/06(月) 00:31:41.69
実行時のアイテムはポインタで管理する。ロード/セーブ時のアイテムデータは圧縮する。
共通化した処理を行う関数はアイテムをvoid*で受け取る(型の共通化のため)。
929デフォルトの名無しさん:2014/01/06(月) 00:38:56.59
>>925-926
何その糞構造体
RPGは武器防具アクセサリだけじゃねーんだよ
世界地図、松明、鍵、モンスター図鑑、色々あるんだよ
世界地図はいちいち世界地図用構造体作るの?松明はいちいち松明構造体作るの?バカなの?
あとそれ個数の管理はできてないし
他にも世の中にはセットオプションってシステムを実装してるゲームがあってだな、
例えば、冥王の剣、冥王の盾、冥王の兜、冥王の鎧、の冥王セット4つを同時に装備すると攻撃力が1割増しになるとか、
そういうのもあるんだよ
そのゴミみたいな構造体でそれをどうやって管理する気だ
930片山博文MZコスモ ◆T6xkBnTXz7B0 :2014/01/06(月) 00:47:40.04
世界地図は世界地図モードに移行する道具。
松明ははマップ上での特殊効果を起こす道具。
鍵もマップ上で扉を開ける道具。
モンスター図鑑も図鑑モードに移行する道具。
931デフォルトの名無しさん:2014/01/06(月) 00:51:11.26
手本となるゲームプログラムのソース無いのか?
932片山博文MZコスモ ◆T6xkBnTXz7B0 :2014/01/06(月) 00:51:21.48
ITEMに個数をあらわすint count;を追加。モード移行のためのint mode_id;を追加
933デフォルトの名無しさん:2014/01/06(月) 00:54:00.08
プログラミング得意な人に限ってゲーム作らないのは何故だろう?
質問して、あその方法あるんだって思うような回答どんどんしてくれるのに。
何故作ろうとしないのか、業務に関係ないからか?
934デフォルトの名無しさん:2014/01/06(月) 00:55:52.75
ゲーム屋じゃないからだろ。
935デフォルトの名無しさん:2014/01/06(月) 01:09:51.44
>>933
ゲームに全く興味ないから
ゲームって非生産的だし(っていうと釣り針でかすぎかな?)
936片山博文MZコスモ ◆T6xkBnTXz7B0 :2014/01/06(月) 01:21:59.31
という訳で実行時のアイテムデータ構造体は次のようになる。
typedef struct ITEM {
int item_type_id;
int count;
char name[32];
void *image;
int mode_id;
int map_effect_id;
float map_factors[3];
int battle_effect_id;
float battle_factors[3];
} ITEM;
937デフォルトの名無しさん:2014/01/06(月) 01:29:53.50
ここでやるな
バカども
938片山博文MZコスモ ◆T6xkBnTXz7B0 :2014/01/06(月) 01:42:32.18
続きはゲームスレで
939デフォルトの名無しさん:2014/01/06(月) 01:51:16.96
セットオプションの話を華麗にスルーして遁走したバカ山の脳ミソが残念すぎるw
940デフォルトの名無しさん:2014/01/06(月) 02:19:46.48
5つ買うと2shotチェキ的な
941デフォルトの名無しさん:2014/01/06(月) 02:21:46.72
ここで続けてる奴はバカ
942デフォルトの名無しさん:2014/01/06(月) 02:33:45.91
セットオプションって何?
たぶん見たことない気がする
943デフォルトの名無しさん:2014/01/06(月) 02:55:21.67
見たことなくても分かるだろ。
944デフォルトの名無しさん:2014/01/06(月) 03:15:00.54
検索してもでてこない…

セッティングオプションの略?
だったら追加的設定って日本語で言ってほしいよな
945デフォルトの名無しさん:2014/01/06(月) 03:19:35.02
セッティングオプションって何?
たぶん見たことない気がする
946デフォルトの名無しさん:2014/01/06(月) 03:24:43.95
>セッティングオプションって何?
セッティングは英語で座り込みの意味。オプションはイタリア語で運動会のこと。
947デフォルトの名無しさん:2014/01/06(月) 03:33:28.51
1+1=3
948デフォルトの名無しさん:2014/01/06(月) 05:34:13.42
仕様をきいた限りでは
if ( ( equip.weapon == 冥王の剣 ) && ( equip.shield == 冥王の盾 ) && ( equip.helmet == 冥王の兜 ) && ( equip.armor == 冥王の鎧 ) ){
  charactor.attack = charactor.attack * 11 / 10;
}
とかでいいんじゃね?って気がする
949片山博文MZコスモ ◆T6xkBnTXz7B0 :2014/01/06(月) 05:42:45.39
それだと付けたり外したりを繰り返すとどんどん攻撃力が増える。
係数として扱うのが妥当
950デフォルトの名無しさん:2014/01/06(月) 05:46:09.43
それ以前にアイテムと組み合わせを考えると地獄のようにifが増えるわけですが
951デフォルトの名無しさん:2014/01/06(月) 05:52:06.73
装備の付け外しを繰り返すことでどんどん攻撃力の上がるバグw
無敵の9999999999999999999999999999999999ダメージでラスボス瞬殺も夢じゃない!
952デフォルトの名無しさん:2014/01/06(月) 06:25:30.41
またハードコーディング厨か
953デフォルトの名無しさん:2014/01/06(月) 06:33:19.74
セットオプションてこういうやつ
ttp://sun.wikiwiki.jp/?%CB%C9%B6%F1%2F%A5%B7%A5%E3%A5%C9%A5%A6#p4431c48
このゲームは防具だけで8箇所装備できるんだけど、全部じゃなくても任意の2個でもオプションがつく
もちろんフルセットでも付く

しかもフルセットの場合はオプションだけではなくエフェクトも付く
ttp://sun.wikiwiki.jp/?%CB%C9%B6%F1%2F%A5%B7%A5%E3%A5%C9%A5%A6#gde2fc43
ここの暗黒エリートってのが例として一番分かりやすいんだけど、
身体からオレンジ色の煙みたいなの出てるだろ?それと体の周りを飛んでる黄色いすじみたいな光
この煙と光は8箇所全部揃えないと出ない
オプションは装備2個目から発動するけど、このエフェクトは8箇所全部揃えて初めて出る
>>936では無理だ
954デフォルトの名無しさん:2014/01/06(月) 06:56:09.09
>>951
何ビットあるんだよw
955デフォルトの名無しさん:2014/01/06(月) 07:16:08.75
>>954
別に今のパソコンなら問題ないが?
956デフォルトの名無しさん:2014/01/06(月) 07:59:07.00
>>955
COBOLでも問題なし
957片山博文MZコスモ ◆T6xkBnTXz7B0 :2014/01/06(月) 07:59:24.22
なるほど。ならばフラグ群のビットフィールドを付けよう。
struct ITEM {
union {
unsigned long flags;
struct {
unsigned long bit0 : 1;
unsigned long bit1 : 1;
unsigned long bit2 : 1;
...
};};};
これならいくつもメンバー変数はいらないし、組合せも計算しやすい
958デフォルトの名無しさん:2014/01/06(月) 08:05:07.51
ゲームシナリオきちんと決めとけば構造体のメンバなんか自ずと決まる
959デフォルトの名無しさん:2014/01/06(月) 09:08:59.10
ダメージの大きさは、大きいと配列に分ければよくね?
1無量大数〜1兆 a[100]
1超〜1億 b[100]
1億〜1 c[100]
960デフォルトの名無しさん:2014/01/06(月) 09:11:50.59
ドラクエとかでたまに、会心の一撃とか与える時あるけど
あのタイミングってアルゴリズム的にどうなってんの?
961デフォルトの名無しさん:2014/01/06(月) 09:16:31.72
ドラクエはただのサイコロだろ
某大作RPGはアルゴリズム()を使ってたと聞いたが
962デフォルトの名無しさん:2014/01/06(月) 09:23:20.05
ただの乱数だと偏りひどいし精神衛生上悪いわ
一定間隔内に必ず当たりが出るようガラガラ形式にした方がいい気がする
963デフォルトの名無しさん:2014/01/06(月) 09:35:33.12
移動時のランダムエンカウントは偏らないように相当凝ったことしてたらしいな
964デフォルトの名無しさん:2014/01/06(月) 09:44:06.57
ダンジョンによってモンスターが出る頻度が違うけど、あれはどういう
アルゴリズム、やっぱりゲーム作るなら遺伝的アルゴリズとか勉強する
必要あるのかな
965デフォルトの名無しさん:2014/01/06(月) 09:45:07.66
釣り針でか過ぎ
966デフォルトの名無しさん:2014/01/06(月) 09:55:36.18
>>965
いやでも微妙に頻度違うよ、ああいう調整ってどうやってるんだろうか
967デフォルトの名無しさん:2014/01/06(月) 09:59:51.95
やたらRPGの話題でるね
968デフォルトの名無しさん:2014/01/06(月) 10:01:19.71
ゲー専のやつらって最初にC学ぶのかな。
969デフォルトの名無しさん:2014/01/06(月) 10:08:16.17
IT離れって最近顕著らしいけど、パズドラみたいなのはやってるのに
本当にIT離れしてるの?
970デフォルトの名無しさん:2014/01/06(月) 10:09:08.28
釣り針でか過ぎ
971デフォルトの名無しさん:2014/01/06(月) 10:10:38.82
>>970
IT離れっていう項目はwikiにもあるよ
情報志望が4割減ってる大学も多いとか
女の人はwebデザインとか得意なのに、減ってるってちょっとやばくね?
972デフォルトの名無しさん:2014/01/06(月) 10:10:44.73
困っています助けてください
973デフォルトの名無しさん:2014/01/06(月) 10:12:12.58
乱数が偏るってなんだよw
乱れてねーじゃんw

なんなら偏数じゃねw
974デフォルトの名無しさん:2014/01/06(月) 10:16:26.35
>>960
たまに変わった攻撃を出したいなら乱数みてるんだろう
会心の一撃のような一発逆転はピンチのときに発生確率あげたほうが盛り上がるだろうな

ドラクエがどうやってるかは知らん

>>963
初期ドラクエは連続であたる事が多かったのに改良されたね

>>964
それこそガラガラ方式じゃないかな

>>968
Cから初めてC++/DirectXやUnityやるらしいよ
2年しかないからオチこぼれは拾わないだろうな

>>969
携帯やスマホの普及でパソコンほとんど触らないらしい
975デフォルトの名無しさん:2014/01/06(月) 10:19:08.45
>>971
そういう意味のIT離れなら
ただ単純に条件が悪いから若者に見捨てられただけ
給料安くて長時間労働というイメージが広がった為

ITバブル後から落ち込んでるからずっと前からだよ
アメリカも厳しいらしいな
当時はよくニュースになってた
976デフォルトの名無しさん:2014/01/06(月) 10:20:20.83
>>974
仕事とかでパソコン使わないならスマホで十分だしなあ
タブレットの普及もあるだろうけど
977デフォルトの名無しさん:2014/01/06(月) 10:20:59.79
PSのハード自体は変わってないのに、初期と後期ではCGのクオリティの差が
天と地ほどの差があるのは何故ですか?

1994年頃の3Dゲームとかでかい四角いポリゴンの連続で凄く荒かったですが
1999年のFF9では、ムービーシーンが実写と思うくらい綺麗です。
言語の発達でしょうか?
978デフォルトの名無しさん:2014/01/06(月) 10:46:57.25
ヒント:
ムービーの内容は
PSで再生しようと
今現在の最新PCで再生しようと
まったくいっしょ
979デフォルトの名無しさん:2014/01/06(月) 10:51:12.50
昔はハードの性能をフルに引き出すデータが作れなかった。
980デフォルトの名無しさん:2014/01/06(月) 11:10:28.26
そうなんですか、じゃぁPSのハードを最大限引き出すデータを作れば
PS4並になりますか?
981デフォルトの名無しさん:2014/01/06(月) 11:18:47.47
スレチ
982デフォルトの名無しさん:2014/01/06(月) 11:21:05.85
いや板違い
983デフォルトの名無しさん:2014/01/06(月) 11:22:39.33
イタチ
984デフォルトの名無しさん:2014/01/06(月) 11:28:24.94
プログラミングなんかやったってメーカーの人件費抑制に利用されるだけ
技術を提供するのでなく人件費抑制というサービスを提供するのが日本のIT企業
この国のIT技術者は正社員なのに派遣
985デフォルトの名無しさん:2014/01/06(月) 11:29:29.35
ここでやるな
足りないにもほどがある
986デフォルトの名無しさん:2014/01/06(月) 11:31:31.59
足りないからIT関連なんて土方やってんだろw
987デフォルトの名無しさん:2014/01/06(月) 11:41:21.67
ネット無関係のプログラ民具の仕事もあるが…
988デフォルトの名無しさん:2014/01/06(月) 13:01:17.56
スマホ対応
989デフォルトの名無しさん:2014/01/06(月) 13:03:42.26
スマホ対応
990デフォルトの名無しさん:2014/01/06(月) 13:05:43.78
プログラミング大好き
991デフォルトの名無しさん:2014/01/06(月) 13:10:07.29
プロラミグング大好き
992デフォルトの名無しさん:2014/01/06(月) 13:12:15.12
システムエンジニアになりたい
何故ならかっこいから
993デフォルトの名無しさん:2014/01/06(月) 13:29:58.78
自由に歩けるrpgのエンカウントってどうなってるのかね
マス単位で歩ける2drpgならエンカウント率を1マス2%とかにすればいいんだろうけど
マス単位でなく自由に歩ける2d/3drpgはどうやってるんだろう
994デフォルトの名無しさん:2014/01/06(月) 13:52:15.68
aaa
995デフォルトの名無しさん:2014/01/06(月) 13:55:17.16
次スレでその話しようぜ!
取り敢えず埋めるわ
996片山博文MZコスモ ◆T6xkBnTXz7B0 :2014/01/06(月) 14:00:56.54
シームレスな地図切り替えのときに均質な密度で敵キャラを配置する。
997デフォルトの名無しさん:2014/01/06(月) 14:12:27.32
次スレでは程度の低い板違いネタはもういい加減やめてくれ
998デフォルトの名無しさん:2014/01/06(月) 14:34:29.76
ゲームプログラミングスレあるだろ
999デフォルトの名無しさん:2014/01/06(月) 14:39:13.06
専用スレがあるって何度も言われてるのにやめないのって
嫌がらせをしてるのかと思われても仕方がないぞ
1000デフォルトの名無しさん:2014/01/06(月) 14:57:10.50
1000
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。