5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

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

1 :デフォルトの名無しさん:2012/12/09(日) 23:18:13.67
C言語の入門者向け解説スレッドです。

★前スレ
C言語なら俺に聞け(入門編)Part 110
http://toro.2ch.net/test/read.cgi/tech/1353148538/
★過去スレ
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++の宿題片付けます 161代目
http://toro.2ch.net/test/read.cgi/tech/1354070278/
★C++言語については避けてください。C++対応明記スレへどうぞ。
★分からない事をなるべく詳しく書いて下さい。
★ソースコードを晒すと答えやすくなるかもしれません。
  # 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること。
  # サイズが大きい場合はアップローダ等を利用してください。
http://codepad.org/
http://ideone.com/
★開発環境や動作環境も晒すと答えが早いかもしれません。
★質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。

2 :デフォルトの名無しさん:2012/12/09(日) 23:32:24.75
乙〜

3 :デフォルトの名無しさん:2012/12/09(日) 23:35:22.70
1乙。
日本のC言語底辺教育の総本山だ。
大事に使ってね。仲良く使ってね。

4 :デフォルトの名無しさん:2012/12/10(月) 00:28:26.45
>>1

前スレ
> 986 名前:デフォルトの名無しさん [sage]: 2012/12/09(日) 20:24:53.93
> >>977
> 文字列反転関数
> void strrev(char *d)
> {
> int i;
> int len = strlen(d);
> char tmp;
> for (i = len / 2 - 1; i >= 0; i--) {
> tmp = d[i];
> d[i] = d[len - i - 1];
> d[len - i - 1] = tmp;
> }
> }
> これは、"1234"を"4321"に変換する
>
> 987 名前:デフォルトの名無しさん [sage]: 2012/12/09(日) 22:06:01.62
> 副作用かっこわるい

副作用?何?と思ったが分かった。
char* strrev(char *d) {
int i, len = strlen(d); char tmp;
for (i = len / 2 - 1; i >= 0; i--) { tmp = d[i]; d[i] = d[len - i - 1]; d[len - i - 1] = tmp; }
return &d[0];
}
なら良いのだな。

ところで、XORを利用したswapもあるんだね。
ttp://www8.cs.umu.se/~isak/snippets/strrev.c

5 :デフォルトの名無しさん:2012/12/10(月) 01:13:18.61
>>4
前スレ987が勘違いしてる。
関数型言語でいう副作用排除なら、別エリアに編集する方法もある。

6 :デフォルトの名無しさん:2012/12/10(月) 04:20:49.17
初心者なんだろうけど、いろいろと気持ち悪いコードだな

7 :デフォルトの名無しさん:2012/12/10(月) 11:48:54.44
うん

8 :デフォルトの名無しさん:2012/12/10(月) 12:25:55.24
何を返そうと、入力を破壊的に変更したら副作用だべ

9 :デフォルトの名無しさん:2012/12/10(月) 12:39:29.02
前スレ986,987共に、引数はchar*だけなので、入力書き換えじゃなくて、引数から参照した先の状態書き換え。
C初学者が間違いやすい所。

10 :デフォルトの名無しさん:2012/12/10(月) 12:50:14.68
Cには値渡しかないから、ポインタを参照渡しの代用にしてるんじゃないの。
なんにしても関数の外にあるものを変更したらそれは副作用だけども。

11 :デフォルトの名無しさん:2012/12/10(月) 13:04:48.07
strdup()してから反転して返しても副作用と言うんかい?

12 :デフォルトの名無しさん:2012/12/10(月) 13:12:00.32
関数内でstrdup()したなら、それをどういじくってから返そうと副作用じゃないのでは。
ヒープからメモリが確保される事も副作用と考えるならダメだけど。

13 :デフォルトの名無しさん:2012/12/10(月) 13:16:08.30
ダメだけどね

14 :12:2012/12/10(月) 13:43:03.70
調子にのってました
ごめんなさい!

15 :デフォルトの名無しさん:2012/12/10(月) 13:47:08.41
うむ、分かればよろしい

16 :デフォルトの名無しさん:2012/12/10(月) 14:38:29.05
C言語なら俺に聞け(入門編)Part 109
http://toro.2ch.net/test/read.cgi/tech/1350461655/

966 名前:デフォルトの名無しさん[sage] 投稿日:2012/11/17(土) 12:11:48.06
純粋に関数としてみると、printfは書き込まれた文字数を返す関数。

画面に文字を表示するのはprintfの副作用。

968 名前:デフォルトの名無しさん[sage] 投稿日:2012/11/17(土) 12:29:40.99
>>966
すみません、その副作用とはなんでしょうか。

17 :デフォルトの名無しさん:2012/12/10(月) 14:39:32.30
977 名前:デフォルトの名無しさん[sage] 投稿日:2012/11/17(土) 13:20:30.07
>>968
int x;
int foo(void)
{
x = 100;
return 200;
}

で、xの値が書き換わってしまうのはfooの副作用。

int bar(void)
{
printf("%d\n", 300);
return 400;
}

で、数字が表示されてしまうのはbarの副作用。

18 :デフォルトの名無しさん:2012/12/10(月) 14:40:03.28
979 名前:デフォルトの名無しさん[sage] 投稿日:2012/11/17(土) 13:42:07.78
>>977
うーん、return で返す値以外は、関数にやらせることが"副作用"なんですかね。
引数void戻り値なしなら、関数の処理は全部、"副作用"?

981 名前:デフォルトの名無しさん[sage] 投稿日:2012/11/17(土) 14:08:18.34
>>979
>引数void戻り値なしなら、関数の処理は全部、"副作用"?
そのとおり

982 名前:デフォルトの名無しさん[sage] 投稿日:2012/11/17(土) 14:36:24.96
void func(int *a){
*a = *a + 1;
}

を副作用って言うのは、正直微妙な気がする。

19 :デフォルトの名無しさん:2012/12/10(月) 14:46:56.19
微妙、じゃなくて
この計算機工学界隈での定義であり用語だろ

20 :デフォルトの名無しさん:2012/12/10(月) 15:14:41.51
そうだけど、何か?

21 :デフォルトの名無しさん:2012/12/10(月) 16:10:07.70
用語が実態と乖離してるのを微妙に感じるってことだろ

22 :デフォルトの名無しさん:2012/12/10(月) 16:22:46.22
副作用ってのはその関数においてローカルでもstaticでもない変数に書き込みを加えることを指すわけで、
returnだの引数だのといった説明は的外れ。

23 :22:2012/12/10(月) 16:24:55.70
間違えた。訂正。
副作用ってのはその関数が終了してもメモリ上に残るような変数に書き込みを加えることを指すわけで、

24 :デフォルトの名無しさん:2012/12/10(月) 16:49:05.95
副作用の事は入門レベルじゃないが、Cは状態依存(Statefull)で、副作用を積極利用してる言語だからな。
計算モデルでの、宣言的プログラミングとは違うモデル(ハードがStatefullなんだからしょうが無い)。
入門レベルをクリアしたら、CTMCP(コンピュータプログラミングの概念・技法・モデル)とかで違いが判る。

25 :デフォルトの名無しさん:2012/12/10(月) 19:04:57.92
うんこ

26 :デフォルトの名無しさん:2012/12/10(月) 19:08:28.71
ちんこ

27 :デフォルトの名無しさん:2012/12/10(月) 19:12:22.98
ちんこ

28 :デフォルトの名無しさん:2012/12/10(月) 19:29:11.66
ちんこ

29 :デフォルトの名無しさん:2012/12/10(月) 19:31:12.98
ちんこ

30 :デフォルトの名無しさん:2012/12/10(月) 19:53:55.84
ちんこ

31 :デフォルトの名無しさん:2012/12/10(月) 19:56:23.11
ちんこ

32 :デフォルトの名無しさん:2012/12/10(月) 20:00:19.70
いんぽ

33 :デフォルトの名無しさん:2012/12/10(月) 20:02:23.27
ちんちん

34 :デフォルトの名無しさん:2012/12/10(月) 20:05:52.99
ちんちん

35 :デフォルトの名無しさん:2012/12/10(月) 20:16:18.71
C言語とちんこ言語どっちが難易度高いですか?

36 :デフォルトの名無しさん:2012/12/10(月) 20:22:37.93
ちんこ言語って知らないけど、とりあえずCはそれほど難しくないからちんこのほうじゃね

37 :デフォルトの名無しさん:2012/12/10(月) 20:34:05.04
グローバルの時代にクーラー効いた部屋でC言語プログラミング
時代錯誤にも程があるカスがwwww

38 :デフォルトの名無しさん:2012/12/10(月) 20:53:10.15
#include <math.h>
を書いて数学関数を使うプログラムを書いたのですがコンパイルでエラーになりました。
gccに-lmオプションをつけたらやっとコンパイルが通ったのですが、Cの教科書には-lmオプションのことなんか一言も書いて有りませんでした。
本当にありがとうございました。

39 :デフォルトの名無しさん:2012/12/10(月) 20:54:35.07
うんこー

40 :デフォルトの名無しさん:2012/12/10(月) 20:56:45.22
ちんこー

41 :デフォルトの名無しさん:2012/12/10(月) 20:57:49.17
>>38
コンパイルは通ってリンクでエラーになってたんだろ。

42 :デフォルトの名無しさん:2012/12/10(月) 21:31:49.74
うん、こ

43 :デフォルトの名無しさん:2012/12/10(月) 22:24:48.34
printf関数を使う時ってstdio.hをインクルードして使うじゃないですか
てことはstdio.hでprintf関数が定義&宣言されてると思ってたんですよ

けれど
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1331505108
のベストアンサーを見てみたら
>printf関数をコールするにはstdio.hと言うヘッダーファイルを#includeでインクルードします。
>そしてprintf関数が入ったライブラリファイルをコンパイルにリンクするように追加します。

って記述があったんです
これってprintf関数はstdio.hじゃぁなくてライブラリファイルで定義されてて
stdio.hでは宣言しかされてないってことなんですか?

44 :デフォルトの名無しさん:2012/12/10(月) 22:27:43.60
ちんこ

45 :デフォルトの名無しさん:2012/12/10(月) 22:28:49.57
* ゚・*:.。.:*・゜+ d(*´∀`)b そうです +.:*・゜゚・*:. *

46 :デフォルトの名無しさん:2012/12/10(月) 22:28:59.22
おまえはきっとライブラリファイルがテキストファイルだと思ってんだろ

47 :デフォルトの名無しさん:2012/12/10(月) 22:29:56.02
返信アリャシャス
すっきりしました

48 :デフォルトの名無しさん:2012/12/10(月) 22:30:24.40
ちんこ

49 :デフォルトの名無しさん:2012/12/10(月) 22:30:36.13
テキスト以外はバイナリだとおそわりました

50 :デフォルトの名無しさん:2012/12/10(月) 22:33:19.27
ちんこ

51 :デフォルトの名無しさん:2012/12/10(月) 22:39:16.47
tinko

52 :デフォルトの名無しさん:2012/12/10(月) 22:42:05.04
ちんぽいんぽ

53 :デフォルトの名無しさん:2012/12/10(月) 22:44:25.71
いんきんたむし

54 :デフォルトの名無しさん:2012/12/10(月) 22:54:39.71
>>43
まぁ、そんな感じでいい

55 :デフォルトの名無しさん:2012/12/10(月) 22:56:04.81
ちんこくさい

56 :デフォルトの名無しさん:2012/12/10(月) 22:58:11.42
皮でちんちんを包む

57 :デフォルトの名無しさん:2012/12/10(月) 23:02:19.27
ちんちんがぁ?

58 :デフォルトの名無しさん:2012/12/10(月) 23:06:54.55
ちんちんのぉ?

59 :デフォルトの名無しさん:2012/12/10(月) 23:10:38.14
金玉がソファーにはりついて気持ち良い

60 :デフォルトの名無しさん:2012/12/10(月) 23:12:48.13
ちんちん

61 :デフォルトの名無しさん:2012/12/10(月) 23:16:28.23
>>54
ありがとうございます…

62 :デフォルトの名無しさん:2012/12/10(月) 23:16:42.99
床オナはちんちんの事をこれっぽっちも考えてない

63 :デフォルトの名無しさん:2012/12/10(月) 23:29:26.61
ちんぽこりん

64 :デフォルトの名無しさん:2012/12/10(月) 23:31:44.13
ぽこちん祭り

65 :デフォルトの名無しさん:2012/12/10(月) 23:36:46.19
mallocしたメモリは関数の呼び出し元・呼び出し先のどちらでfreeするのがいいのでしょうか?
普通に考えれば呼び出し先で、freeすることはほとんど無いはずなのですが
GUIのWindowみたいにいつ終わるかわからないものは、呼び出し先でfreeするのがベストかと思います。

66 :デフォルトの名無しさん:2012/12/10(月) 23:54:06.07
>>65
巣からでてくんな

main以外★mallocの後にfree不要と言うバカいるの?
http://toro.2ch.net/test/read.cgi/tech/1352812333/

67 :デフォルトの名無しさん:2012/12/11(火) 00:02:45.66
山ほどあるcで書かれたコード嫁

68 :デフォルトの名無しさん:2012/12/11(火) 00:26:52.67
後片付けは自分でしなさいとこだわる人もいるだろうけど、
手紙なら読んだ人が処分するよね。
相手が読むのだけを待って、読み終えたら自分で片付けなくては
いけないなんて効率悪いと思う。
ただ、誰が片付けるかは明確にしておかないといけないけど。

69 : ◆QZaw55cn4c :2012/12/11(火) 00:59:33.94
>>37
>グローバルの時代に
聞くからに、とっても悲惨な時代だと、どーしても思うのですが

70 :デフォルトの名無しさん:2012/12/11(火) 22:20:56.06
てs

71 :デフォルトの名無しさん:2012/12/11(火) 22:23:22.11
てすと

72 :デフォルトの名無しさん:2012/12/11(火) 23:28:07.76
#include <stdio.h>
int uruu(int year);
int main(void)
{
int a,b;
int lastdays=0;
int i;
scanf("%d %d ",a,b);
for(i=a;i<b;i++){

if(uruu(i)==1){
lastdays+=366;
}
else{
lastdays+=365;
}
printf("%d",lastdays);
}
int uruu(int year){
if(year%400==0){
return 1;
}
else if(year%100==0){
return 0;
}
else if(year%4==0){
return 1;
}
else{
return 0;
}
}

73 :デフォルトの名無しさん:2012/12/11(火) 23:28:43.89
↑ごめんインデントが汚いけれど
何がいけないの?

74 :デフォルトの名無しさん:2012/12/11(火) 23:30:19.25
>>73
何がやりたいのか書かれてないのがいけない

75 :デフォルトの名無しさん:2012/12/11(火) 23:32:44.96
ごめん
年度二つ入力して閏年考慮した上で、その間の日数を求めたい。
これはそのひな形。
とりあえず、動かないんだ。

76 :デフォルトの名無しさん:2012/12/11(火) 23:33:55.62
scanfに整数わたしてる

77 :デフォルトの名無しさん:2012/12/11(火) 23:34:10.21
>>75
scanf &

78 :デフォルトの名無しさん:2012/12/11(火) 23:35:37.89
ごめん、それも忘れたたけど
まだ動かない

79 :デフォルトの名無しさん:2012/12/11(火) 23:36:37.18
どうなることを期待して、何が出るかくらい書け

80 :デフォルトの名無しさん:2012/12/11(火) 23:38:30.82
インデントつけないのが悪いな。{ } が合ってない。

81 :デフォルトの名無しさん:2012/12/11(火) 23:38:38.98
例えば
2000、2007といれると
2000=閏年=366
2001=平年=366+365
みたいになることを期待してるんだけど

82 :デフォルトの名無しさん:2012/12/11(火) 23:41:26.01
その期待に対して、何が出るか聞いてんだよ

83 :デフォルトの名無しさん:2012/12/11(火) 23:48:17.40
for(i=a; i<=b;i++)

84 :デフォルトの名無しさん:2012/12/11(火) 23:50:47.46
if(year%400==0){
  ↓
if((year%400) == 0)

%と=どっちが優先か忘れたけど

85 :デフォルトの名無しさん:2012/12/12(水) 00:02:49.12
その前に、main()の } が足りないみたいだけど、コンパイル通るのか

86 :デフォルトの名無しさん:2012/12/12(水) 00:06:34.15
ごめん、出来た。
けど、結局何がいけなかったのか分からない。

87 :デフォルトの名無しさん:2012/12/12(水) 00:22:04.32
さっきのと比較しろや

88 :デフォルトの名無しさん:2012/12/12(水) 08:38:08.83
int ndays(int y,int m)
{
int days;
int month;
int data[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
days=month[m];
if(uruu(y)==1 && m==2)
{
days+=1;
}
return days;
}


この関数なのですが、何か問題がありますか?
プロトタイプ宣言もしてあるのですが、動作しません。

89 :デフォルトの名無しさん:2012/12/12(水) 08:42:14.92
>>88
>days=month[m];
わからんけど、ここな気がする

90 :デフォルトの名無しさん:2012/12/12(水) 08:43:17.40
days=data[m];
こうじゃね?

91 :デフォルトの名無しさん:2012/12/12(水) 09:00:03.38
「動作しない」と「コンパイルできない」くらい区別してくれ

92 :デフォルトの名無しさん:2012/12/12(水) 11:36:21.71
time_tに変換してdifftime()すればいいものを。
課題とか実験とかなら判るけど、馬鹿に限って手を抜くことをしないからなぁ。

93 :デフォルトの名無しさん:2012/12/12(水) 11:47:03.49
入門編でしか暴れられない奴が言ってもなあ。

94 :デフォルトの名無しさん:2012/12/12(水) 12:26:49.69
difftimeを知ってるならもう中級者

95 :デフォルトの名無しさん:2012/12/12(水) 14:01:42.04
数字の末尾が2,4,6,8であるかどうかの確認ってどうするんでしたっけ?

96 :デフォルトの名無しさん:2012/12/12(水) 14:11:13.33
わからない

97 :デフォルトの名無しさん:2012/12/12(水) 14:32:35.90
お年玉葉書か。

98 :デフォルトの名無しさん:2012/12/12(水) 14:34:24.52
>>95
bool isLastDigit2468(int value)
{
char foo[20];
char digit = foo[sprintf(foo, "%d", value) - 1];
return digit == '2' || digit == '4' || digit == '6' || digit == '8';
}

99 :デフォルトの名無しさん:2012/12/12(水) 14:38:57.74
>>95
i%10&&!(i%2)

100 :デフォルトの名無しさん:2012/12/12(水) 14:45:35.40
今日からC言語を覚えます!
みんなよろしく\(^o^)/

101 :デフォルトの名無しさん:2012/12/12(水) 15:26:00.55
やだ

102 :デフォルトの名無しさん:2012/12/12(水) 15:28:25.73
>>101
冷てぇなおいw

103 :デフォルトの名無しさん:2012/12/12(水) 15:46:27.85
>>100
Cを憶えると犯人予備軍にされる恐れがあるから注意な

警察「犯人は「Cシャープ(音楽記号)」というプログラミング言語を利用してウイルスを作成」
http://hayabusa3.2ch.net/test/read.cgi/news/1355285251/

104 :デフォルトの名無しさん:2012/12/12(水) 16:02:56.20
http://ideone.com/z0Vmld
ctrl + d押しても^Dとしか表示されなくてbreak出来ないんだけどどうすればいいの

105 :デフォルトの名無しさん:2012/12/12(水) 16:10:58.52
>>104
マルチ。

106 :デフォルトの名無しさん:2012/12/12(水) 16:18:00.84
>>105
だって前に向こうで聞いたらここは解説するところじゃねーって怒られたんだもん

107 :デフォルトの名無しさん:2012/12/12(水) 16:22:34.60
>>98
ありがとうございます。ついでにもう一つ教えてください
Cでboolというのありました?

cppで確認用に

int main()
{
int num;

num = 123654;

if (isLastDigit2468(num) == true )
{
cout << num << "の末尾は2,4,6,8のいずれか\n";
}
}

てのはできたんですが。

108 :デフォルトの名無しさん:2012/12/12(水) 16:22:41.26
みずほFG次期システム実況スレ
http://kohada.2ch.net/test/read.cgi/prog/1355294277/24

109 :デフォルトの名無しさん:2012/12/12(水) 17:16:16.17
>>107
あるよ
stdbool.hで定義されてる

110 :デフォルトの名無しさん:2012/12/12(水) 17:26:03.07
あるね

111 :デフォルトの名無しさん:2012/12/12(水) 17:51:59.64
>>106
そういう書き込みするやつは、大抵回答してない。

112 :デフォルトの名無しさん:2012/12/12(水) 18:02:53.44
古いプログラムでは、boolのところがBOOLかintになってる

113 :デフォルトの名無しさん:2012/12/12(水) 18:20:01.61
BOOLなのに0と1と-1が返ってくるGetMessage()なんてのもある

114 :デフォルトの名無しさん:2012/12/12(水) 18:22:53.83
WindowsのBOOLはintじゃなかったっけ

115 :デフォルトの名無しさん:2012/12/12(水) 18:29:18.74
調べたら、そうだったw

116 :デフォルトの名無しさん:2012/12/12(水) 19:01:39.84
107です。皆さん、ありがとう

117 : 忍法帖【Lv=11,xxxPT】(1+0:5) :2012/12/12(水) 19:07:30.32
ライフゲームのセルの初期配置パターンをtmp.txtから読み込んで、cells.txtに書き込んで、世代、セル数、セル配置を表示したい
main関数の最後辺りを弄ってたらバスエラーになるように
その前でもセル数が0で変わらないまま
http://codepad.org/qBhlee6g
友人がこのプログラムならできたと言ってた(課題も解けてた)がいつの間にかに正しい結果が出ないように
http://codepad.org/QHlDoA1i

経験者が見たところ、ぱっと見良さそうなコードみたいですが、何かおかしい所があればお願いします。

118 :デフォルトの名無しさん:2012/12/12(水) 19:09:07.54
>>99の人にも礼を言うのわすれてました。ありがとう
ちと難しかったですw

119 :デフォルトの名無しさん:2012/12/12(水) 19:10:05.93
>>104
こちらの環境(Scientific Linux 6.3 + gcc 4.4.6)だと、
Ctrl+d で scanf() の戻り値が -1 になって break するけど、
そちらの環境(Windows?)だと Ctrl+d で抜けるのが利かないのかな。

例えば、
> if (scanf("%s", data[i].name) != 1)/* Ctrl+Dが押されたらbreakでループを抜ける */
> break;
  ↓
> scanf("%s", data[i].name);
> if (data[i].name[0] == 'q' && data[i].name[1] == '\0') /* 'q'が入力されたらbreakでループを抜ける */
> break;
'q' とかで終了するよう改造してみたらどうだろうか?

あるいは、Windowsなら conio.h の _getch() と _ungetch() を組み合わせてみるとか…

120 :デフォルトの名無しさん:2012/12/12(水) 19:16:14.07
>>117
> http://codepad.org/qBhlee6g
116行目無限ループ

121 : 忍法帖【Lv=11,xxxPT】(1+0:5) :2012/12/12(水) 19:34:52.29
>>120
Control-Zで止める仕様です
因みにtmp.txtを読まずに乱数を発生させるタイプは上手くいってます
http://codepad.org/fo3Tn2CJ

122 :デフォルトの名無しさん:2012/12/12(水) 19:45:24.78
>>119
自分で一通り調べて色々やってみたら
if (scanf("%s", data[i].name) != 1) 
この行の1をEOFにするだけでCtrl+Dでループから抜けられるようになった
ありがとう

123 :デフォルトの名無しさん:2012/12/12(水) 20:02:28.17
>>117
tmp.txtから正しく読まれているのだろうか?

124 :デフォルトの名無しさん:2012/12/12(水) 22:18:54.48
苦しんで覚えるC言語というサイトのドラッグへの対応という項目をやっていたところ、
「ドラッグされたファイル名を表示するプログラム」が書かれていたのですが使い方が分かりません。
visual C++のデバック開始で開かれるプロンプトにテキストファイルなどをドラッグすればいいのですか?

125 :デフォルトの名無しさん:2012/12/12(水) 22:31:27.04
うん

126 : 忍法帖【Lv=40,xxxPT】(1+0:5) :2012/12/13(木) 00:27:13.78
>>123
filename使うの止めてファイル名指定して直で読み込むようにしたらできました
ありがとうございます

127 :デフォルトの名無しさん:2012/12/13(木) 01:20:57.17
問題は const char *filename にあったのか?

128 :デフォルトの名無しさん:2012/12/13(木) 01:30:41.44
なにもしてないけど壊れたってのと同じかほりがするお!
ファイルの実体を置いたりとか他にコード弄ったとか色々あるんじゃあないのかよ?

129 :デフォルトの名無しさん:2012/12/13(木) 01:34:39.26
ここに質問書き込むような初学者は、知らない・理解してないに加えて、
”表現が間違ってる”事が多いから、コードをアップロードした方が誤解が少ないんだけどね。

130 :124:2012/12/13(木) 01:45:11.04
自己解決しました。
調べてみたらVistaだとドラッグしてもパスが表示されないのですね。

131 :デフォルトの名無しさん:2012/12/13(木) 11:02:24.31
自作関数を作っているのですが
int bmilarger(Person data[ ], int n, double v)
{
int i;
int cnt=0;
for(i=0;i<n;i++)
{
if(data[i]>=v)
{
cnt=cnt+1;
}
}
return cnt;
}

if文の所で'>=' : struct に対して正しくありません。
と出てしまいます。どこを修正すればいいのでしょうか?

132 :デフォルトの名無しさん:2012/12/13(木) 11:10:28.75
if(data[i].bmi>=v)

133 :デフォルトの名無しさん:2012/12/13(木) 11:10:36.93
data[i]は構造体だから、その中のどのメンバーとvを比較したいか指定する。
data[i].bmi>=v みたいに。

134 :デフォルトの名無しさん:2012/12/13(木) 11:16:28.73
すいません、ありがとうございました。
感謝します。
いまいち構造体の意味が分かっていないのでしょうか?

135 :デフォルトの名無しさん:2012/12/13(木) 11:20:22.73
扱う対象が値(整数、文字、実数、、)なのかデータの塊(構造体)なのか意識しないと

136 :デフォルトの名無しさん:2012/12/13(木) 12:49:43.31
だね

137 :デフォルトの名無しさん:2012/12/13(木) 16:00:11.30
うん、ありがとうね

138 :デフォルトの名無しさん:2012/12/13(木) 16:12:13.11
いえいえ

139 :デフォルトの名無しさん:2012/12/14(金) 00:24:15.07
int a;
int* p;

p = &a

これはpにaのアドレスが入るんですよね。
そうすると&pはaのアドレスではなくpのアドレスが入りますよね。
例えばpのアドレスからpの型分だけ中身を参照するとして、
アドレスpからaのアドレスから同じ分だけの領域の中身を参照出来るように
するにはどうすればいいでしょうか。

140 :デフォルトの名無しさん:2012/12/14(金) 00:43:13.64
>例えばpのアドレスからpの型分だけ中身を参照するとして、
>アドレスpからaのアドレスから同じ分だけの領域の中身を参照出来るように
日本語がわからんぞ

int a = 10;
int* p = &a;
int** pp = &p;

printf("%d",**pp); //=>10

こういうこと?

141 :デフォルトの名無しさん:2012/12/14(金) 00:47:07.78
>>139
ttp://ideone.com/dKjOxp

142 :デフォルトの名無しさん:2012/12/14(金) 01:31:47.30
pからaの値を得たいって言ってるだけじゃないの?

http://ideone.com/nas9Tg

143 :デフォルトの名無しさん:2012/12/14(金) 08:36:59.65
>>142
多分ポインタpへのポインタからaの値を参照したいんだと思う。
だから>>140かな。

144 :デフォルトの名無しさん:2012/12/14(金) 10:08:50.25
「&pはaのアドレスではなくpのアドレスが入る」とか、ポインタを理解していれば出てこない。
わかってないんだろうな。記述方法だけ覚えてもしょうがない。

145 :デフォルトの名無しさん:2012/12/14(金) 10:21:00.94
じゃあどう言えばいいの

146 :デフォルトの名無しさん:2012/12/14(金) 10:25:10.72
.a と .so の区別がつかないんだけど
.soは動的リンク用で.aは性的リンク用という認識でいいの?
.saってなに?

147 :デフォルトの名無しさん:2012/12/14(金) 11:01:37.69
>>146
> .a と .so の区別がつかないんだけど
> .soは動的リンク用で.aは性的リンク用という認識でいいの?
それで合ってる

> .saってなに?
こっちが聞きたい

148 :デフォルトの名無しさん:2012/12/14(金) 11:28:40.94
>>146
ttp://www.hi-ho.ne.jp/babaq/linux/libtips.html
> スタティックライブラリは、コンパイル時にコードがプログラムに組込まれます。
> モジュールサイズが大きくなりますが、別のマシンにバイナリで配布したときに
> そのライブラリがなくても動作します。 .a で終わるファイルです。
> 共有ライブラリは、プログラムの実行時にロードされます。マシンによっては、
> その共有ライブラリがなかったり、バージョンが違ったりして、動作しないことがあります。
> .so と .sa で終わるファイルです。.sa は、古い a.out 形式で使われた共有ライブラリです。

149 :デフォルトの名無しさん:2012/12/14(金) 11:42:38.66
>>145
言い方だけ学んでも意味がない。
Cのポインタを理解すれば正しい言い方をおのずと使うようになる。

150 :デフォルトの名無しさん:2012/12/14(金) 11:46:06.56
.aと.soって相互に変換できる?

151 :デフォルトの名無しさん:2012/12/14(金) 11:49:44.13
>>145
&p は何かを入れる入れ物ではない。

152 :デフォルトの名無しさん:2012/12/14(金) 11:51:12.21
>>149
お前が理解してないのはわかった

153 :デフォルトの名無しさん:2012/12/14(金) 11:54:57.04
>>150
.soの方は位置独立コードが要求されるから、大抵のOSではコンパイルし直さないと無理。

154 :デフォルトの名無しさん:2012/12/14(金) 11:59:26.74
すいません教えて下さい。
外部参照について調べていたのですが
例 extern int func( char* );
char*の*はポインタ変数名を続けて書く意味でしょうか?

155 :デフォルトの名無しさん:2012/12/14(金) 12:02:53.90
>>150
.soは.oをリンクしちゃった結果で、
元のファイル名が失なわれてるから無理。
.aから.soはlinuxならできるような気がするけど、
-fPICじゃないので実行開始時のリンクが遅いかも。

156 :デフォルトの名無しさん:2012/12/14(金) 12:06:09.23
>>154
外部参照とは関係ないけど、そうだね。
関数プロトタイプでは、仮引数名を省略して型だけ書いてもいいので、
extern int func( char *p );
の意味。

157 :デフォルトの名無しさん:2012/12/14(金) 12:09:13.54
>>152
こいつみたいな炎上学習法を実践するクズが多くてウザい。
その筆頭がコテハンだから始末が悪い。

158 :デフォルトの名無しさん:2012/12/14(金) 12:30:59.03
>>156
即答ありがとうございます。m(_ _)m

159 :デフォルトの名無しさん:2012/12/14(金) 12:44:36.22
変換仕様%sでscanfを使うときカンマの後に&を付けないのはなんでですか?
付けても変わらないように思えるのですが

160 :デフォルトの名無しさん:2012/12/14(金) 12:45:07.03
すいませんageてしまいました

161 :デフォルトの名無しさん:2012/12/14(金) 12:49:13.55
>>159
char array[100];
char *p = array;
とすると、array も &array も同じ値になっちゃうので、
付けてもいいように見えてしまう。
だけど、&p と p は違うので、動作しない。

162 :デフォルトの名無しさん:2012/12/14(金) 12:50:04.43
char buff[256];
int data;

scanf("%s", buff);
scanf("%s", &buff[0]);
scanf("%d", &data);

163 :デフォルトの名無しさん:2012/12/14(金) 12:52:58.66
>>159
char s[10];
scanf("%s",&s[5]); //(「・ω・)「
scanf("%s",s[5]); //\(^o^)/

164 :デフォルトの名無しさん:2012/12/14(金) 13:20:59.80
>>157
顔真っ赤だな
死ねよゴミ

165 :デフォルトの名無しさん:2012/12/14(金) 14:06:54.49
>>164
ポインタ理解してないチンカスになに言われても全然答えないわけだが。
悔しかったらポインタ理解してから出直すことだ。w

166 :デフォルトの名無しさん:2012/12/14(金) 14:52:01.12
荒らしに構う奴は荒らし

167 :デフォルトの名無しさん:2012/12/14(金) 19:56:54.95
性的リンクって///

168 :デフォルトの名無しさん:2012/12/15(土) 00:37:58.89
恥ずかしながら初心者でDXライブラリ使ってるんですが
円と四角が同時に動くみたいな事をこのライブラリを使えばCでも書けるんですが
これって暗にDXライブラリの関数がスレッドの機能があるってことでしょうか?

169 :デフォルトの名無しさん:2012/12/15(土) 00:45:35.61
スレッドなくとも交互に描けば可能。ソースコード確かめろ。

170 :デフォルトの名無しさん:2012/12/15(土) 16:26:48.25
Linuxとかで uint32_t みたいな型を使ってるプログラムがあるんだけど
これを使うと「絶対的に」32ビットの大きさが確保されるの?

171 :デフォルトの名無しさん:2012/12/15(土) 16:33:42.23
それはtypedefの内容による。

172 :デフォルトの名無しさん:2012/12/15(土) 16:37:23.53
名前からしてどんな環境でも32bit unsignedであることを期待しているとは思う

173 :デフォルトの名無しさん:2012/12/15(土) 16:40:17.69
いまどきstdint.hなしの環境使ってるのか?

174 :デフォルトの名無しさん:2012/12/15(土) 17:21:25.76
stdint.h 見たら
typedef unsigned intuint32_t;
と書いてあった。
intって64bit環境だと64bitじゃないの?

175 :デフォルトの名無しさん:2012/12/15(土) 17:25:05.38
違うよ

176 :デフォルトの名無しさん:2012/12/15(土) 18:00:02.58
intは環境によってサイズが違うしlongも違う場合がある。

177 :デフォルトの名無しさん:2012/12/15(土) 18:03:07.80
一言で64ビット環境と言ってもたくさんある。

LPI64: long, pointer, intが64ビット
LP64: long, pointerが64ビット
LLP64: long long, pointerが64ビット

uint32_tはそれぞれの環境で32ビットになるようtypedefされている。

178 :デフォルトの名無しさん:2012/12/15(土) 18:12:15.63
> uint32_tはそれぞれの環境で32ビットになるようtypedefされている。

なるほど。ありがとうございます。

179 :デフォルトの名無しさん:2012/12/15(土) 18:24:39.86
いえいえ

180 :デフォルトの名無しさん:2012/12/16(日) 01:06:19.61
c言語ってコンパイルせずにインタプリタで実行して何か問題あるの?
basicと同じ順次実行言語だし何か困るの?って疑問に思いました。

181 :デフォルトの名無しさん:2012/12/16(日) 01:08:06.30
>>180
無いよ
インタプリタで実行も出来るよ

182 :デフォルトの名無しさん:2012/12/16(日) 01:11:33.85
>>181
インタプリタは何言語で作ったら一番良いですか?
やっぱり文字列とかの機能が多いperlとか?

183 :デフォルトの名無しさん:2012/12/16(日) 01:13:19.03
コンパイル、リンクは1回でいいよ
何回も実行する

184 :デフォルトの名無しさん:2012/12/16(日) 01:14:39.20
>>182
せっかくだからCで作れやw

185 :デフォルトの名無しさん:2012/12/16(日) 01:15:11.84
>>182
Rubyは、Cでかかれているそうです。黒魔術もつかわれてる(つかわれてた?)
black art

186 :デフォルトの名無しさん:2012/12/16(日) 01:18:52.01
C言語で標準正規分布の累積分布関数やその逆関数を計算することは可能でしょうか
エクセルでnormsdist関数やnormsinv関数を使用したファイルを作成したのですが
計算する数値の量が多すぎて1回の再計算で数十秒近く時間がかかってしまうため
直接C言語で計算するプログラムを作ればこの時間を減らせるのかなと考えています
プログラムに関する知識は現時点でゼロです
長くなりましたが、
1.C言語でプログラムを作ることでエクセルによる計算より時間を短縮することは可能か
2.可能だとして、全くの初心者がそのプログラムを作る難易度はどのくらいになるか
 (1日3時間勉強にあてることができるとして、何日かかるかを目安で)
この2点について、どうぞよろしくお願いします

187 :デフォルトの名無しさん:2012/12/16(日) 01:37:41.73
数値計算ライブラリを使えば速く動いて早く使える。
ゼロから自作するのは手間かかる。

188 :デフォルトの名無しさん:2012/12/16(日) 01:42:26.89
>>186
まずは計算量を減らす工夫できないか考えるのが先だろう。
アルゴリズムがクソだと言語とかライブラリ変えてもどうにもならない。

189 :デフォルトの名無しさん:2012/12/16(日) 01:46:33.97
速いかは知らんがこのソフトには累積分布関数の演算できるようだ。CやエクセルからもDLLとして使えると思う。未確認。

GNU Octave 2.1.x 日本語マニュアル
http://ja.wikibooks.org/wiki/GNU_Octave_2.1.x_%E6%97%A5%E6%9C%AC%E8%AA%9E%E3%83%9E%E3%83%8B%E3%83%A5%E3%82%A2%E3%83%AB/%E7%B5%B1%E8%A8%88

190 :デフォルトの名無しさん:2012/12/16(日) 01:54:12.78
>>187>>188>>189
早速のご回答ありがとうございます
それぞれ試行してみたいと思います
本当にありがとうございました

191 :デフォルトの名無しさん:2012/12/16(日) 02:28:24.48
正規分布くらい自分で実装しても大したことないよ。

192 : ◆QZaw55cn4c :2012/12/16(日) 02:48:28.71
ボックスミューラー法とか

193 : 忍法帖【Lv=3,xxxP】(1+0:5) :2012/12/16(日) 05:59:51.72
Cってさ、クラス使えないんだよ
知ってた?

194 :デフォルトの名無しさん:2012/12/16(日) 08:51:39.72
またチンカスがトンチンカンな事ほざいてるのか。
チンカスは最強のめるせんぬついすたーをとなえた。えぃっ。wwwww

>>186
excelが遅いんじゃなくて、多分キミのExcelシートの作り方が悪い。
normsdistは標準正規分布表引くだけ、normsinvは逆引きだけの処理なので、非常に高速。
normsdistやnormsinv使わないで値そのままにしても同じくらい時間かかるんじゃないか。
= normsdist(A1)
のセルを
= A1
に変更して時間計ってみろ。

195 :デフォルトの名無しさん:2012/12/16(日) 09:06:40.14
オレはお前がそんなにCを使いこなせていないことを知ってるぞ

196 :デフォルトの名無しさん:2012/12/16(日) 09:10:58.95
キサマなぜそれを

197 :デフォルトの名無しさん:2012/12/17(月) 16:24:12.08
C言語で音(音楽)を出力させるにはどうしたらよいのでしょうか??

198 :デフォルトの名無しさん:2012/12/17(月) 16:31:42.95
>>197
ハードウェア依存。言語の問題ではない。

199 :デフォルトの名無しさん:2012/12/17(月) 17:08:33.08
音源チップを直接扱うような低水準なことから
DirectXあたりを使った高水準なモノまで
いろいろできる

音源チップ用のコントローラとかなると
そりゃもうデバイスドライバあたりの面倒くささになる

200 :デフォルトの名無しさん:2012/12/17(月) 17:12:11.39
いろいろあるね

201 :デフォルトの名無しさん:2012/12/17(月) 17:31:50.54
Windowsなら
system("start music.mp3");

202 :デフォルトの名無しさん:2012/12/17(月) 17:35:47.80
>>201
最小化した状態で起動するなら
system("start /min music.mp3");

203 :デフォルトの名無しさん:2012/12/17(月) 17:36:05.55
自己解決しました

204 :デフォルトの名無しさん:2012/12/17(月) 20:01:46.44
ベル文字ってあるでしょ
音でないけど…

205 :デフォルトの名無しさん:2012/12/17(月) 20:03:57.70
うちは出るよ。
でも実際に音をならすのは端末の機能。

206 :デフォルトの名無しさん:2012/12/17(月) 20:05:19.32
環境依存?

207 :デフォルトの名無しさん:2012/12/17(月) 20:17:44.73
#include <stdio.h>

int main(void)
{
  int i;
  int N = 10;

  for(i = 0; i < N; i++) {
    printf("\007");
  }

  return 0;
}

208 :デフォルトの名無しさん:2012/12/17(月) 20:34:22.05
>>206
うん

209 :デフォルトの名無しさん:2012/12/18(火) 14:44:07.60
>>202
消防以下のレベルに善く答えてあげたな。

210 :デフォルトの名無しさん:2012/12/18(火) 15:44:41.85
関数の引数なしを

void test(){}

と()内にvoidと書かなくても大丈夫?

211 :デフォルトの名無しさん:2012/12/18(火) 15:49:22.94
昔はそう書いた
今ならvoidつけた方がよい

212 :デフォルトの名無しさん:2012/12/18(火) 15:59:02.16
>>211
なんで?

213 :デフォルトの名無しさん:2012/12/18(火) 16:06:52.58
そのまま関数宣言に使ったときにも、引数がないことが明確になるから。

214 :デフォルトの名無しさん:2012/12/18(火) 16:10:18.25
最近はハードの性能も上がり、色々こねくり回すよりも可読性を重視したコーディングが求められるだろうから、
やろうとしていることはなるべく明示した方が良い。

バグ潰しの効率もずいぶん変わるし、何より考えすぎたコードは次の日自分でも何やってんだか分からなくなったり。

215 :デフォルトの名無しさん:2012/12/18(火) 16:34:01.01
>>213
>そのまま関数宣言に使ったときにも、引数がないことが明確になるから。

それ、チェック機能の弱い、古いコンパイラ時代の常識。

216 :デフォルトの名無しさん:2012/12/18(火) 16:36:09.14
Cだと書いた方がいいね
他の言語(C#とか)だと書かないと自動的に引数なし扱いになるけど

217 :デフォルトの名無しさん:2012/12/18(火) 17:03:29.86
なるけどね

218 :デフォルトの名無しさん:2012/12/18(火) 17:41:21.75
まぁ一応書いておくだろ

219 :デフォルトの名無しさん:2012/12/18(火) 18:28:18.40
宣言なら書かないといけないけれど、定義ならどっちでもいいよ。Cは。

220 :デフォルトの名無しさん:2012/12/18(火) 19:07:08.53
定義をコピペして関数プロトタイプ宣言にするから自分は書くけどね

221 :デフォルトの名無しさん:2012/12/18(火) 19:46:48.09
どっちでもいいならすこす長くてもわかりいいほうにしとけってばっちゃが

222 :デフォルトの名無しさん:2012/12/18(火) 20:11:10.05
ありがとうCではちゃんと記述する
それ以外は略してもいいという認識で行く

223 :デフォルトの名無しさん:2012/12/18(火) 21:00:22.85
Cなら略してもいいのだ。他の言語では、voidの意味になってしまう

224 :デフォルトの名無しさん:2012/12/18(火) 21:35:50.50
C#ってvoid書くとコンパイルエラーになるよね

225 :デフォルトの名無しさん:2012/12/18(火) 22:56:50.25
なるよね

226 :デフォルトの名無しさん:2012/12/18(火) 23:05:38.14
ネー

227 :デフォルトの名無しさん:2012/12/18(火) 23:10:46.83
unionとstructってどう違うんですか?

struct{int a, double b, char c,char d[10][10]}←できる
union{int a, double b, char c, char d[10][10]}←できる

228 :デフォルトの名無しさん:2012/12/18(火) 23:14:38.62
たしか、unionとstructってメモリに展開した時に違いが発生するんだよね?
unionは1つの連続した領域として取られるハズ

229 :デフォルトの名無しさん:2012/12/18(火) 23:14:49.55
unionは、どれか1つのメンバしかメモリに載らない

230 :デフォルトの名無しさん:2012/12/18(火) 23:16:10.57
1つの代入した、もう1つのメモリ上の領域は破壊(塗り潰す)される

231 :デフォルトの名無しさん:2012/12/18(火) 23:16:15.65
>>228
あやふやなら回答しない方がいい

232 :デフォルトの名無しさん:2012/12/18(火) 23:16:52.60
確実な回答おがないしましゅ

233 :デフォルトの名無しさん:2012/12/18(火) 23:17:39.48
確実な回答が欲しいなら、自分で仕様書なり調べろ

234 :デフォルトの名無しさん:2012/12/18(火) 23:19:03.78
それならそうと一番最初に家よks

235 :デフォルトの名無しさん:2012/12/18(火) 23:26:51.91
unionはメンバ中で一番に大きいメモリサイズで領域を確保する
d[10][10]の領域の中に、int a, double b, char cの先頭を指してる
だから、どれか代入すると他のメンバ変数はメモリ上に載せることが出来ない

236 :デフォルトの名無しさん:2012/12/18(火) 23:31:36.87
>>235
最小のプログラムでunionの場合structと比べてこれができないっていう
例を教えて下さい。

237 :デフォルトの名無しさん:2012/12/18(火) 23:34:55.94
できる
struct Foo a;
a.a = 10;
a.b = 0.1;
できない
union Bar b;
b.a = 10;
b.b = 0.1;

printfでconsoleにでも出力汁

238 :デフォルトの名無しさん:2012/12/18(火) 23:36:51.35
自己解決しました。

239 :デフォルトの名無しさん:2012/12/18(火) 23:38:26.58
1つだけ、今後のアドバイスすると、プログラマにはならない方がいいよ
君には向いてないから

240 :デフォルトの名無しさん:2012/12/18(火) 23:38:41.91
>>237
ランタイムエラーだったけどありがとうございます。
さすればunionって欠陥品ということでしょうか?

241 :デフォルトの名無しさん:2012/12/18(火) 23:41:06.74
うn

242 :デフォルトの名無しさん:2012/12/18(火) 23:41:42.63
省メモリで組む必要がある組込み用途で必要

243 :デフォルトの名無しさん:2012/12/18(火) 23:46:24.41
sizeof演算子で、structとunionの大きさ確認しろ

244 :デフォルトの名無しさん:2012/12/18(火) 23:59:23.38
struct アレやコレを一緒にまとめて入れておく。
union ひとつの場所に、ある時はアレ、またある時はコレと使い分ける。

245 :デフォルトの名無しさん:2012/12/19(水) 00:06:59.28
入門での中途半端な文法レベルなら、rogueなり、
tux racerなり落としてきて使い方眺めた方が早い
飯食うなら、枕元にBSDのコード置くぐらいのことした方が良い

246 :デフォルトの名無しさん:2012/12/19(水) 07:47:18.99
良いね

247 :デフォルトの名無しさん:2012/12/19(水) 10:53:20.83
もっとも、c++,javaでヤドカリ本の暗記した方が潰しがきくけどね

248 :デフォルトの名無しさん:2012/12/19(水) 11:24:42.62
スレタイ読めないヴァカがいるぞ

249 :デフォルトの名無しさん:2012/12/19(水) 14:57:04.28
>>248
お前だ

250 :デフォルトの名無しさん:2012/12/19(水) 21:34:21.71
cで何かするならgtkあたりがベター
cの入門なら、gnome付属のゲームでも読めば?

大学講座の単位なんて飾りですw
入門者には、それが分からんのですw

251 :デフォルトの名無しさん:2012/12/19(水) 21:55:21.74
何か今日あった?
入門スレでしか暴れられない方々が多いな。

252 :デフォルトの名無しさん:2012/12/19(水) 22:49:52.00
多いね

253 :デフォルトの名無しさん:2012/12/20(木) 00:10:37.14
一文字だけstrcpy,strcatしたい場合はどうしたらいいですか?
char buf[10];
char buf2[10];
strcpy(buf,buf2[0]);

char buf3[2];
buf3[0]=buf2[0];
strcpy(buf,buf3);
とするのはさすがに面倒なので.....

と一文字だけコピーしたい場合エラーが出るので。

254 :デフォルトの名無しさん:2012/12/20(木) 00:11:56.35
大学が役に立たないから、代りに入門者の教育してるんだろ

255 :デフォルトの名無しさん:2012/12/20(木) 00:14:56.64
strncpy

256 :デフォルトの名無しさん:2012/12/20(木) 00:19:16.97
strcpy(buf,buf2[0]);
はbuf2[0]がポインタでなくて、char型

257 :デフォルトの名無しさん:2012/12/20(木) 00:23:56.74
入門レベルでvisual studioのようなIDEなんて使うと、
文法やコンパイルの仕組みを理解できないから、ある程度に達するまでemacsやvimを使え

258 :デフォルトの名無しさん:2012/12/20(木) 00:24:26.63
>>253
sprintf(buf, "%s%c", buf, buf2[0]);

259 :デフォルトの名無しさん:2012/12/20(木) 00:29:58.53
入門段階でgdbのマニュアルを端から端まで読んでおけば、
ポインタや、ポインタの派生型が大体、何かは理解できる。

屑大学の馬鹿って、院生にもなって動画サイトに上がってる
HSP製のゲームに感動するような場所w

260 :デフォルトの名無しさん:2012/12/20(木) 00:45:48.07
>>259
バカはお前だ

261 :デフォルトの名無しさん:2012/12/20(木) 00:50:53.35
OOPLなんて大学1年次のうちに、主要言語の文法は全部おぼえてしまう方が良いよ
学部2年の前半でUMLとデザパタを一通り暗記するぐらいのペース。後半でGUI弄る。
学部3年の前半で業界動向を調べつつ、4年次の研究テーマを事前に勉強。
このぐらいのペースでないと就職活動で皆が希望するような所には間に合わないよ。

262 :デフォルトの名無しさん:2012/12/20(木) 00:52:05.62
>>260
中身のない煽りって、どうでも良いな^^

263 :デフォルトの名無しさん:2012/12/20(木) 01:04:24.52
それと、マニュアル、チュートリアル、リファレンスの類は全部、英語で読め。
入門書を買うなら洋書を買え

264 :デフォルトの名無しさん:2012/12/20(木) 01:13:05.49
>>255
strcatで無いですかね?

buf[3]とbuf[7]を連続して

buffer[100]に連結したい。
でも一文字だからできないという。

265 :264:2012/12/20(木) 01:15:10.71
bufは"abcdefghi"


buffer[100]=all \0;
buffer[0]='U';

strcat(buffer,buf[3]);
strcat(buffer,buf[7]);


printf("%s",buffer)=Udh;
としたいです。

266 :デフォルトの名無しさん:2012/12/20(木) 01:20:10.56
わけわからん

267 :デフォルトの名無しさん:2012/12/20(木) 01:22:57.93
こういうことけ?
strncat(buffer, &buf[3], 1);
strncat(buffer, &buf[7], 1);

268 :デフォルトの名無しさん:2012/12/20(木) 01:27:08.77
>>264
strncat(buffer,*buf[3],1);
strncat(buffer,*buf[7],1);
環境ないから動くかシラネ。
strcatでやれって課題なの?

269 :268:2012/12/20(木) 01:27:51.04
ああ、間違えた.&だ

270 :デフォルトの名無しさん:2012/12/20(木) 01:28:10.41
>>262
>>259 みたいな嘘ばかりの腐った中身なんて無いほうがいいだろ

271 :268:2012/12/20(木) 01:30:02.50
>>270
嘘だって根拠は?

272 :264:2012/12/20(木) 01:30:23.53
>>268
ありがとうー
いや連結したいからそれが実現できるなら何でもいいよ
何とかできそう

273 :デフォルトの名無しさん:2012/12/20(木) 01:36:43.57
>>272
strncat(buffer, buf + 3, 1);
strncat(buffer, buf + 7, 1);

274 :デフォルトの名無しさん:2012/12/20(木) 01:38:44.24
>>273
bufって定数だけど、それでポインタ演算うまくいくっけ?

275 :デフォルトの名無しさん:2012/12/20(木) 03:57:38.16
>>274
そんなことぐらい自分で判断しやがれ
ここで聞いても答えはでんだろ
他の人の意見を聞くならまだしも
お前が信じるかどうかなんて知ったことじゃねえ

276 :デフォルトの名無しさん:2012/12/20(木) 12:44:20.86
定数だろうが変数だろうがアドレスの加算は正常にできる。

277 :デフォルトの名無しさん:2012/12/20(木) 12:53:00.14
>>274
bufを書き換えるわけじゃないからok

278 :デフォルトの名無しさん:2012/12/20(木) 13:19:11.34
初心者はstrcat,strncatは使わない方がいいよ
初心者ほど使いたがるけど初心者ほど使い方間違える

279 :デフォルトの名無しさん:2012/12/20(木) 13:29:40.59
>>270
>>259は実体験に基づいた真実だと思うぞ。>>259のようなことは書けない。

280 :デフォルトの名無しさん:2012/12/20(木) 17:20:54.96
sscanfとsprintfがあれば、まあだいたいのことはできるな

281 :デフォルトの名無しさん:2012/12/20(木) 20:52:14.17
>>280
putcharとgetcharがあればあとはいらない

282 :デフォルトの名無しさん:2012/12/20(木) 21:31:34.70
yacc/lexいりませんか?

283 :デフォルトの名無しさん:2012/12/20(木) 21:37:13.12
yaccはいる。lexはあんまり使わないからどっちでもいい。

284 :デフォルトの名無しさん:2012/12/20(木) 23:15:50.61
一般的なペーストビンでも使ってろ

285 :デフォルトの名無しさん:2012/12/20(木) 23:39:55.94
antlrやjavaccの方が使われてるけどな

286 :デフォルトの名無しさん:2012/12/21(金) 13:36:57.42
質問ですお願いします
ソースは以下なのですが(自作関数略)VC++だとコンパイルでき、結果も正しくでます
しかし、bcc32や、他のコンパイラだとエラーが出ます
「エラー E2277 a.c 15: 左辺値が必要(関数 main )」

#include <stdio.h>

int mdays(int y, int m);
int uruu(int year);

int main(void)
{
int y1,m1,d1,y2,m2,d2;
int i,j,days;

while(scanf("%d%d%d%d%d%d",&y1,&m1,&d1,&y2,&m2,&d2)){
if(y1<0 || m1<0 || d1<0 || y2<0 || m2<0 || d2<0)
break;
for(i=y1,days=0; i<=y2; i++)
for(i!=y1? j=1: j=m1 ; i!=y2? j<=12: j<=m2 ; j++)
days+=mdays(i,j);
days-=d1;
days-=(mdays(y2,m2)-d2);
printf("%d\n",days);
}

return 0;
}

恐らく、三項演算子が原因だと思うのですが、どうしてなのかさっぱりわかりません

よろしければ是非教えてください。よろしくお願いします

287 :デフォルトの名無しさん:2012/12/21(金) 13:58:09.57
こう書きたかったのか? よくわからん
http://ideone.com/0CsnlE

こんな変な書き方する奴がいるから三項演算子禁止とかいう
アホルールが作られるんだろうなぁ
ループの条件判定で比較を無駄に増やして誰が得するんだ?

288 :デフォルトの名無しさん:2012/12/21(金) 14:01:19.46
原因がわかってるなら対策すればいいのに。

289 :デフォルトの名無しさん:2012/12/21(金) 18:08:49.46
確かにこんなの見たら使用禁止にしたくなるな。

290 :デフォルトの名無しさん:2012/12/21(金) 18:15:22.63
なるね

291 :デフォルトの名無しさん:2012/12/21(金) 18:36:17.90
>>286
本当にVC++でコンパイルできるの?
VC++2010だとコンパイル出来ねぇぞ
ひょっとしてVC++でだけ、C++でコンパイルしてないか?
条件演算子の優先順位がC++とCで微妙に異なるのでそのせいじゃないのか

292 :デフォルトの名無しさん:2012/12/21(金) 18:46:44.54
if文と三項演算子は別物だと考えろ。

293 :デフォルトの名無しさん:2012/12/21(金) 20:12:30.88
かんがえろよね

294 : ◆QZaw55cn4c :2012/12/21(金) 20:27:51.26
三項演算子の正しい使い方
http://toro.2ch.net/test/read.cgi/tech/1313183984/594

295 :デフォルトの名無しさん:2012/12/21(金) 20:31:05.51
自己解決した

296 :デフォルトの名無しさん:2012/12/21(金) 22:34:24.35
「コードは短ければ理解しやすい」という命題への反証の良い例

297 :デフォルトの名無しさん:2012/12/21(金) 22:47:02.52
あああ 変態なことしたい! 性欲まみれの会員とチャットしてくれ!!頼む!!

298 :デフォルトの名無しさん:2012/12/21(金) 22:50:25.88
じゃあラーメンタイマーの仕様定義するからよろです。

・ラーメンの待ち時間の長さ&商品によって異なる味の変化をデータベース化
 例:商品Aでは4分で「麺のふにゃふにゃ感が芽生えはじめる」
   というような情報に基づき柔軟に味を調節可能
 データベースは、ある設定でラーメンが出来たら、感想フォームを表示、
 ここに感想を入力していくことでオリジナルのデータベースが出来あがっていくという仕組み。
 さらに、TCP/IP通信でこのデータベース情報を交換できる。

・ラーメンが出来るまでの時間をミニ格闘対戦ゲームで潰せる「時間があっというまに経つね」機能
 TCP/IP通信で、ロビーをデディケートサーバーで提供できるような感じで。

・ラーメン作成回数・日時・商品情報から、ラーメンにおける摂取カロリー計算や
 嗜好分析などを行える統計機能つき。
 この統計から、「おすすめの新作カップメン」みたいな情報も表示できる。

タイムリミットは明日の6時までに適当なアプロダで、GPLで。

299 :デフォルトの名無しさん:2012/12/21(金) 23:02:29.93
なんだコイツ
真正のアホだ

300 :デフォルトの名無しさん:2012/12/21(金) 23:09:47.71
そうか?

301 :デフォルトの名無しさん:2012/12/22(土) 00:08:21.07
int型配列で間にある要素を削除して詰める方法ありますか?


int a[5]; a[0]=0; a[1]=1; a[2]=2; a[3]=3; a[4]=4; a[5]='\0';

a[2]を削除して間を詰めて

a[0]=0; a[1]=1; a[2]=3; a[3]=4; a[4]='\0'; a[5]='\0';
としたいです。

全然方法が思い浮かばないんですが...

302 :デフォルトの名無しさん:2012/12/22(土) 00:08:48.97
GPLはちょっと

303 :デフォルトの名無しさん:2012/12/22(土) 00:11:11.12
>>301
人が並んでる行列を詰めるのと一緒だろ。

304 :デフォルトの名無しさん:2012/12/22(土) 00:12:51.47
なにそれこわい

305 :デフォルトの名無しさん:2012/12/22(土) 00:13:25.01
>>301
a[2]=a[3];
a[3]=a[4];
a[4]=a[5];

つまり、
for(i=2;i<5;i++)a[i]=a[i+1];

306 :デフォルトの名無しさん:2012/12/22(土) 00:15:54.27
>>305
関数として一般化したらどうなりますか?

kansu(int a[] ,int integer){}

strlenした時に消した要素の分長さも減っていてほしいです。

307 :デフォルトの名無しさん:2012/12/22(土) 00:18:23.78
>>298
一度、似たような課題を何度か解いたことある人が半日でやってみせて
俺スゲェーってやるような問題.大体、やねうらお辺り

308 :デフォルトの名無しさん:2012/12/22(土) 00:33:17.67
>>306
>strlenした時に消した要素の分長さも減っていてほしいです。
int配列だから、strlen使えない。

ttp://ideone.com/Egj1nu

309 :デフォルトの名無しさん:2012/12/22(土) 00:44:06.72
>>308
ありがとう!

310 :デフォルトの名無しさん:2012/12/22(土) 00:56:01.71
オブジェクトの初期化の意味がわからないです
どういうときに初期化するのですか?
初期化しないとどうなるんですか??

311 :デフォルトの名無しさん:2012/12/22(土) 00:56:08.56
>>308,309
詰めたいエリアの途中に、0があるとNG。

312 :デフォルトの名無しさん:2012/12/22(土) 01:02:21.34
初期化しないとどんなデータが入ってるのかわからない
初期化しないままでたらめなデータを使って計算すると意図しない動作になる

313 :デフォルトの名無しさん:2012/12/22(土) 01:08:27.70
>>312
呼ばれる度にデータが変わるので、初期化しないと変わったデータのまま処理してしまうってことですか?

314 :デフォルトの名無しさん:2012/12/22(土) 02:32:17.38
>>301
memmoveでも使ってろ

315 :デフォルトの名無しさん:2012/12/22(土) 03:05:27.31
>301
#define DC(b) case b:a[b]=a[b+1];
int a[6]={〜};
switch (x){DC(0) DC(1) DC(2) DC(3) DC(4) DC(5)}

316 :デフォルトの名無しさん:2012/12/22(土) 12:40:22.74
>>301のはspliceで検索すればいい

C++にはstd::list::spliceですでに存在している
Cではそれっぽいソースをどこからともなく探せばいい

spliceについては、Javascript、php、perlの解説にその挙動が詳しい

317 :デフォルトの名無しさん:2012/12/22(土) 14:42:31.05
アホか。
spliceという一般的な単語からそれっぽいソース探してなおすより
最初から書いた方がはやいわ。

318 :デフォルトの名無しさん:2012/12/22(土) 14:51:34.05
↑アホ

319 :桃白白:2012/12/22(土) 14:55:23.68
>>318
そうか? spliceは値の挿入、値の削除、値の置換をしちゃう関数だ。
削除のためだけにspliceを実装するのはりんごを剥くために万能ナイフを
買いに行くようなもの。果物ナイフで剥けばいいじゃん。

320 :デフォルトの名無しさん:2012/12/22(土) 14:58:31.47
結局>>314が一番ラクでよくね?

321 :デフォルトの名無しさん:2012/12/22(土) 16:18:26.88
>>318にとって>>301のお題はとてつもなく難しいのだろう。
能力なさそうだからホームレスにでも転職すりゃいいのに。

322 :デフォルトの名無しさん:2012/12/22(土) 16:38:08.22
遺伝的アルゴリズムについて詳しく説明してあるサイトってありますか??
自動作曲をしようと思っているのですが、うまくいきません
評価関数とかをどういうふうにプログラムしたらいいのかわからなくて…

323 :デフォルトの名無しさん:2012/12/22(土) 16:40:59.29
芸術系の評価関数はねーだろw
人力じゃん人力

324 :デフォルトの名無しさん:2012/12/22(土) 17:31:54.14
ゲームなんかの敵アルゴリズムで経験を積んで少しずつ強くなる
みたいな用途(プレステ1のアストロノーカ)には適すると思うけど
作曲みたいに人の感性に依存するものは人にしか無理だと思う。

詳しく解説した書籍は知る限りでは洋書に頼ることになるはず。
日本語書籍では↑のアストロノーカ作者が書いた本が「あった」
のだが、今は絶版となっている。

325 :324:2012/12/22(土) 17:31:59.88
C99(C89/C90)で OpenAL や WindowsAPI を使わずに
音を鳴らす方法を模索しています。
・printf("\a"); や
・ncurses で beep(); までは見つかったのですが
結局ビープ音しか鳴らすことができていません。
なにかよい方法 / ライブラリなどがありましたら教えてください。

環境:
Mac OS X 10.6.8
i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5666)

326 :デフォルトの名無しさん:2012/12/22(土) 17:33:27.05
>>324の絶版書籍は「マッチ箱の脳」という本です。

327 :デフォルトの名無しさん:2012/12/22(土) 17:35:04.91
>>325
環境依存なのでC言語の規格が定める範囲の外の話です。
汎用的な方法はありません。お使いのハードウェアに適した
方法を使ってください。

328 :デフォルトの名無しさん:2012/12/22(土) 17:37:30.12
>>324
http://www.1101.com/morikawa/index_AI.html

本がウェブサイトになってました(

329 :デフォルトの名無しさん:2012/12/23(日) 00:08:18.62
スレチだろうけど…
C言語入門向けの一番のおすすめの書籍はありますか?

330 :デフォルトの名無しさん:2012/12/23(日) 00:18:46.44
>>329
ttp://www.yfcbookshelf.com/images/4-7561-0043-0.jpg
これ

331 :デフォルトの名無しさん:2012/12/23(日) 00:19:02.86
ふつうのlinuxプログラミング入門(青木...)

332 :デフォルトの名無しさん:2012/12/23(日) 00:20:46.65
Linuxプログラミング
例題で学ぶUNIXプログラミング環境のすべて(ニール・マシュー)

333 :デフォルトの名無しさん:2012/12/23(日) 00:25:02.79
下の本は中身が古くて、cvsやrcsコマンドについては歴史的な価値しかないと思う

334 :デフォルトの名無しさん:2012/12/23(日) 00:26:42.91
歴史的価値とは?

335 :デフォルトの名無しさん:2012/12/23(日) 00:27:41.39
SCMなんて流行り廃れが激しすぎて、今日日の主流がsubversionかgitだから

336 :デフォルトの名無しさん:2012/12/23(日) 00:35:50.14
プログラミング入門なら、まつもとゆきひろ辺りが監修してた「CodeReading」

337 :デフォルトの名無しさん:2012/12/23(日) 00:38:07.23
              「C実践プログラミング」 でCの文法、make、gdbなど、基礎を習得
                                ↓
     「C言語ポインタ完全制覇」 or 「秘伝C言語問答 ポインタ編」 でポインタに関して完全理解する
                                ↓
「エキスパートCプログラミング―知られざるCの深層」 でスタック、ヒープ、リンカ、ローダなど周辺知識を習得
                                ↓
      「C言語によるオブジェクト指向プログラミング入門」 で大規模プログラムの作り方を学ぶ
                                ↓
           「C言語デバッグ完全解説」でバグに強いプログラムの記述法をマスター
                                ↓
        「Code Complete(上)(下)」でより良いC言語プログラムとは何かを各人で考察する
                                ↓
                              神の誕生

338 :デフォルトの名無しさん:2012/12/23(日) 00:40:09.73
>>337
は?それ、ようやく現場で役に立つレベルだろ

339 :デフォルトの名無しさん:2012/12/23(日) 00:44:36.07
入門スレで、現場ガーって言ってる奴は仕事経験ないだろ。
いやあったら寧ろ遠慮したい。

340 :デフォルトの名無しさん:2012/12/23(日) 00:47:20.76
より酷いのか、より凄いのか、どっちだ?

341 :デフォルトの名無しさん:2012/12/23(日) 01:08:37.35
「c言語によるオブジェクト指向プログラミング入門」この辺りからイラナイだろ
段階的には素直にjavaかc++でも覚えて、
デザパタなりリファクタリングなり覚えた方が悦楽に浸れるだろうし、
それに飽きてから、より高度でマニアックなプレーに走った方がソソるはず

342 :デフォルトの名無しさん:2012/12/23(日) 02:24:42.90
unsigned char *fn[] ={ "a.bmp" ,"b.bmp" ,"c.bmp" ,"d.bmp" ,"e.bmp" };

 ファイル列のリストが欲しいだけなのだけど、IDEにアンダーラインで指摘されてしまいます。
 『Error:型"const char *"の値を使用して型"unsigned char *"のエンティティを初期化することはできません』って。
 これが出来ないんじゃmain関数に引数渡せないでしょ・・・とも思うけど、俺が何か勘違いしているんだろうなあ。
 すいません、教えて下さい。 msdnのどこを見れば良いのか分からなくて。

 VS2010EXPRESSなのですが。

343 :デフォルトの名無しさん:2012/12/23(日) 02:30:08.12
unsignedとったら行けそうな気がしないでもない

344 :342:2012/12/23(日) 02:41:25.71
>>343
 ありがとうございます!
 昔からの習慣に思考停止しておりました。
 IDEがそう教えてくれているのに理解出来ない辺り、どこに出しても自慢出来る低能ですね。

345 :デフォルトの名無しさん:2012/12/23(日) 02:42:44.08
つーかなんでunsignedつけたのか理由を述べよ

346 :デフォルトの名無しさん:2012/12/23(日) 02:43:53.83
それは右辺が一時的にしか存在しない可能性があり、データが消える可能性がある。
fn[] ="a.bmp";だと適切なメモリを確保してくれるが。

347 :デフォルトの名無しさん:2012/12/23(日) 03:01:42.18
c言語でグラフィックプログラムしてみたんだけどライブラリにあった
関数でコールバック関数ってのが出てきました。コールバック関数って何ですか?

348 :デフォルトの名無しさん:2012/12/23(日) 03:11:23.29
与格が無いからねぇ

349 :デフォルトの名無しさん:2012/12/23(日) 03:20:34.17
型をあわせるという思考があるのならこんなエラーなど
出ないはずなんだが・・・

右辺と左辺で型が違う時点で違和感を感じないとだめ。
というか文字列リテラルは基本的にsigned charだから。

350 :342:2012/12/23(日) 03:25:36.96
>>345
文字に負数はないから。
現存するwindowsではない古いコード読み直したら、文字列扱う場合は
総てunsigned付けていましたヽ(´∀`)ノ

351 :デフォルトの名無しさん:2012/12/23(日) 03:25:41.98
>>347
コールバックというのは何かのイベントが発生した時に
イベントをハンドリングする処理からコールバックされる
関数のこと。

割り込みハンドラなんかでよく使うけど、UI処理などでも
ボタンが押されたらイベントハンドラからコールバックを
してくれるとか、イベント系ではよくある処理方法。

352 :342:2012/12/23(日) 03:32:13.44
>>349
 singed、肝に銘じます。

353 :デフォルトの名無しさん:2012/12/23(日) 03:37:14.97
unsigned かsigned かはコンパイラのオプション。
規格ではsigned かもしれん。

354 :デフォルトの名無しさん:2012/12/23(日) 04:42:54.47
charはsigned charかunsigned charのどっちかと同じ型だけど、実際にどっちなのかは処理系依存。
C++だとそれぞれ別の型。

だったような気がする。

355 :デフォルトの名無しさん:2012/12/23(日) 08:00:19.12
気がするね

356 :デフォルトの名無しさん:2012/12/23(日) 10:28:25.70
勉強し始めたばかりなんですが、
なんでメモ帳にプログラムを書いて
結果が出るんですか?
メモ帳にそういう機能が付いているからなのでしょうか?

357 :デフォルトの名無しさん:2012/12/23(日) 10:43:00.83
>>356
>結果
普通出ません

358 :デフォルトの名無しさん:2012/12/23(日) 10:46:41.68
>>357
あ、そうなんですか?w

359 :デフォルトの名無しさん:2012/12/23(日) 11:43:39.04
うん

360 :デフォルトの名無しさん:2012/12/23(日) 13:22:55.19
>>357
裏技を使えば出る

361 :デフォルトの名無しさん:2012/12/23(日) 14:26:27.96
フリーのもあるが、最低でも5万円位のメモ帳買わなきゃ

362 :デフォルトの名無しさん:2012/12/23(日) 19:23:49.74
>>356
こういうレス好きだわあ

363 :デフォルトの名無しさん:2012/12/23(日) 22:01:55.26
好きだね

364 :デフォルトの名無しさん:2012/12/24(月) 01:44:28.84
こんにちは。いきなりですが、
txtファイルにある
14
1001 90 80 70 67
1002 60 50 40 60
1003 55 30 56 65
1004 88 70 77 20
1005 60 30 90 30
1006 100 0 100 100
1007 23 33 21 50
1008 65 66 46 98
1009 58 87 88 64
1010 30 55 63 32
1011 65 54 70 77
1013 98 89 79 90
1014 100 60 95 68
1016 30 22 56 30
という数値を2次元配列に格納して平均が高い順に並べ替えるプログラムを作成中なのですが、
イマイチどういう風に書くのかが分かりません・・・
ご教授頂けるとお願いします・・・

365 :デフォルトの名無しさん:2012/12/24(月) 01:50:28.83
宿題は宿題スレへ

366 :デフォルトの名無しさん:2012/12/24(月) 03:42:57.03
fopenでファイル開いて、
sscanfでバッファ読み取って、配列に代入
平均求める関数とバカソートかいて
レポートを提出する

367 :デフォルトの名無しさん:2012/12/24(月) 09:37:22.09
>>364
X 教授
O 教示

368 :デフォルトの名無しさん:2012/12/24(月) 10:08:23.72
>>367
国語辞書ぐらいひけよ、ネトウヨ。

369 :デフォルトの名無しさん:2012/12/24(月) 10:49:25.57
>>368
その上で言ってるんだよ。ゴミカス。
テメーのようなゴミカスに「特別に与える」義理はねーし、
テメーのようなゴミカスを弟子にもった憶えもねー

きょう‐じゅ〔ケウ‐〕【教授】 [名](スル)
1 学問や技芸を教え授けること。「書道を―する」

さず・ける〔さづける〕【授ける】 [動カ下一][文]さづ・く[カ下二]
1 目上の者が目下の者に特別に与える。「学位を―・ける」「勲章を―・ける」
2 師が弟子に教える。伝授する。「秘伝を―・ける」「知恵を―・ける」

370 :デフォルトの名無しさん:2012/12/24(月) 11:05:49.71
↑アホ

371 :デフォルトの名無しさん:2012/12/24(月) 11:34:05.72
↑アホ

372 :デフォルトの名無しさん:2012/12/24(月) 12:06:01.07
勝った

373 :デフォルトの名無しさん:2012/12/24(月) 12:21:54.84
>>369
国語辞書ひいても意味がわからんのか、ネトウヨは。。。

374 :デフォルトの名無しさん:2012/12/24(月) 14:01:41.79
>>373
人に教えをこうときは「教示」で正解だと思うんだけど、なんで言い争ってんの?
「教授」だと人称(つまり、ここでは言ってる人)だから変だよ?ってことなんじゃないのか?

教示:(相手に)教え示す(ように頼む)
教授:(自分が相手に)教え授ける

375 :デフォルトの名無しさん:2012/12/24(月) 14:04:40.66
更なるアホが来た

376 :デフォルトの名無しさん:2012/12/24(月) 14:21:05.58
反論できないんだね

377 :桃白白:2012/12/24(月) 14:38:46.85
>>374
桃白白も話題に混ぜてほしい。

Aさんが教示するといったとき教示するという動作の主体はAさん。
Aさんが教授するといったとき教授するという動作の主体はAさん。
動作の主体は教示するといったときも教授するといったときも同じAさん
なわけだから、教示すると教授するに違いはない。

頂くが教授に付いている。頂くは前の動詞を自分が〜してもらうという意味にする補助動詞。
AさんがBさんに「ご逝去頂きたい」といったとき、AさんはBさんが逝去することを
Bさんにお願いしているわけ。

だから教授でも教示でもどっちだもいんじゃねってのが桃白白の結論。

378 :デフォルトの名無しさん:2012/12/24(月) 14:44:37.23
さすがお前ら
プログラミング以外の事には詳しいんだな

379 :デフォルトの名無しさん:2012/12/24(月) 14:44:59.67
>>369 のどこをどう見たら人称につっこんでるって結論になるんだよwww

380 :デフォルトの名無しさん:2012/12/24(月) 15:12:36.29
>>377
教授するという場合は、師弟関係や主従関係などの上下関係が存在する。
どこの馬の骨ともわからない名無しにいきなり「教授して欲しい」と乞われて、
はいそうですかと授ける事はありえない。
貢物差し出して、どうか教授してくださいと懇願するなら考えない事もない。

381 :デフォルトの名無しさん:2012/12/24(月) 15:16:52.19
>>380
これ大事よね

どこの誰とも知らん相手から師匠になってくれと頼まれてはいそうですかとか
ありえん
道を示して欲しいというなら教えるものもいるだろう

382 :デフォルトの名無しさん:2012/12/24(月) 15:19:19.90
そんなこんなでそろそろググって教授が間違いなのは、初発の人も気がついた頃だろうさ
あとは蛇足、言葉遊びするよりコード書け(オレモナー)

383 :デフォルトの名無しさん:2012/12/24(月) 15:36:07.71
>>380-381
それはお前が勝手に付け足した解釈
だからお前はアホなんだ

384 :デフォルトの名無しさん:2012/12/24(月) 15:50:27.94
>>383
まだやってんのかよ。池沼。

385 :デフォルトの名無しさん:2012/12/24(月) 15:53:53.96
日本語わからない朝鮮人が「教授」で正しいと暴れているのか?

386 :デフォルトの名無しさん:2012/12/24(月) 15:54:56.23
>>385
死ねゴミチョン

387 :桃白白:2012/12/24(月) 15:56:35.66
>>380
お前は道端で知人にあって知人から「よお大将、ひさしぶり」と声かけられたら
「ふざけるな俺は大将じゃない、俺の股間は足軽だ」とぶち切れるタイプ?

桃白白なら請われれば余裕でいっときの師匠となって桃白白がもつ
バブルソートの全技術を授けてやっちゃうけどね。桃白白なら余裕でそれ
くらいこなしちゃうけどね。そうやって桃白白の弟子たちが世に羽ばたいて
いってくれることが桃白白にとってなによりの幸せだから。

日本語では尊敬語や謙譲語を使うだけで上下関係というのは生じるわけで、
上下関係にないから教えることがありえないとするなら、お前はご教示頂けないでしょうか?
と言われたときにもどこの馬の骨じゃーと頭から湯気を出さざるを得ない状況に
置かれちゃうな。お前苦労人だな。というかクレーマーだな。

388 :デフォルトの名無しさん:2012/12/24(月) 16:01:57.08
>>386
わっ、 朝鮮人が火病った。

>>387
> 上下関係にないから教えることがありえないとするなら
違うよ、上下関係が無いから授ける事はありえないと言っている。

389 :桃白白:2012/12/24(月) 16:13:14.89
>>388
だったらお前は矢印でも神父でもないわけだから教示することもありえないだろ。
授けるという言葉だけが特別扱いされるものじゃない。

390 :デフォルトの名無しさん:2012/12/24(月) 16:13:37.26
質問者は自ら敬語を使い下手に出ている。
これは回答者が上で質問者が下の上下関係。

391 :デフォルトの名無しさん:2012/12/24(月) 16:15:24.90
バイクシェッドだね

392 :デフォルトの名無しさん:2012/12/24(月) 16:20:47.40
>>389
日本語不自由なら引っ込んでなよ。矢印でも神父じゃなくても示すことはできる。

示す:
考え・気持ち・反応などが相手に伝わるように、何かの方法で表して見せる。
「誠意を―・す」「態度で―・す」「格段の進歩を―・す」

393 :デフォルトの名無しさん:2012/12/24(月) 16:25:11.33
教授・教示の議論なんか今まで何度もも目にしたが
上下関係の有無を理由に誤用と主張してるやつは初めて見たわ

394 :デフォルトの名無しさん:2012/12/24(月) 16:40:28.58
>>392
それは示せってときだろ。お前は答えを示せと言われたらそれに
答えることができるが、上下の関係がないことを理由に教授という
ことがありえないという立場なのだから、ご教示頂きたいと言われた
ときには敬われる立場、高位の立場にないから答えられないということになる。

395 :デフォルトの名無しさん:2012/12/24(月) 16:48:01.83
>>369のネトウヨさんの調査結果が全てだ。
> きょう‐じゅ〔ケウ‐〕【教授】 [名](スル)
> 1 学問や技芸を教え授けること。「書道を―する」
すなわち、「ご教示下さい」でも「ご教授下さい」でも可。人称云々も上下関係云々もこじつけ。

お前等あんまりネラー用法を増やすなよ。広辞苑がまた軽薄に採用してしまうだろう。

396 :デフォルトの名無しさん:2012/12/24(月) 16:54:10.15
ちょっと宿題解いてくれってのは、「学問や技芸」を教え授けるのとはちがうだろ

397 :桃白白:2012/12/24(月) 17:00:11.30
>>396
プログラムの書き方を教えてくれってんだから情報技術という学問の分野であり
完全にテクニカル。そんなのは解釈次第でどうにでもなるわけで、わざわざ
あてはまらない解釈の仕方をするのがおかしい。桃白白はそれがおかしいと思うの。

398 :デフォルトの名無しさん:2012/12/24(月) 17:01:17.99
萌えた

399 :デフォルトの名無しさん:2012/12/24(月) 17:09:55.17
チェンジニアには技術の価値なんて分からないよ

400 :デフォルトの名無しさん:2012/12/24(月) 17:23:20.52
>>395
そこに書かれている通りだ。
単に「学問や技芸を教えること」ではなく「学問や技芸を教え授けること」
授けるとは前に引用した通りに上下関係が存在する。

チョンやチャンコロにはわからないだろうが。

401 :デフォルトの名無しさん:2012/12/24(月) 17:24:26.18
まだやってんのかwww

402 :桃白白:2012/12/24(月) 18:26:59.58
>>364
ほい。俺のことはパイパイ教授と呼べ。
http://ideone.com/Klekic

403 :デフォルトの名無しさん:2012/12/24(月) 18:29:09.04
篠沢教授に全部

404 :デフォルトの名無しさん:2012/12/24(月) 18:34:33.91
政治スレから逃げてきた奴は、言葉に噛み付くくらいしか出来ないが、
悲しいことに日本語嫌いだから残念な結果に。

405 :デフォルトの名無しさん:2012/12/24(月) 19:04:30.02
自分の投げた柱に飛び乗って移動するって物理的に可能なんですか

406 :デフォルトの名無しさん:2012/12/24(月) 20:01:40.35
それが地球上なのか月面なのか
はたまた宇宙空間なのか

物理的に……と問うには
そこまで要件を指定せねば無意味

あとは自分が柱を投げて
誰が移動するのか
何が移動するのか
その他のこまごまとした要件を誤解のなきよう定義せねば
一切の発言は無意味

さらには物理的に可能という言葉の詳しい意味も
明確に説明せねば無意味

407 :デフォルトの名無しさん:2012/12/24(月) 20:12:48.37
>>327
ありがとうございます。OpenAL がデフォルトで入っている様なので
SDL ではなく OpenAL について調べてみることにしました。

408 :デフォルトの名無しさん:2012/12/24(月) 20:48:52.61
いえいえ

409 :デフォルトの名無しさん:2012/12/25(火) 00:10:56.99
プログラム作るのまじで適性ない
就職は全く関係ない業種にしたいんだが
だめかな?もうプログラムは勉強したが上手くいかないことが
多すぎて自殺したいほど疲れた。

410 :デフォルトの名無しさん:2012/12/25(火) 00:19:00.76
がんばれがんばれ
がんばればなんだってできる
にんげんの可能性は無限だ
がんばりが人間の力だ
最後の最後までがんばることが肝心だ
がんばった先に素晴らしいことがまっている
がんばることこそ人間の証だ
とにかくがんばれ
がんばってみろ

411 :デフォルトの名無しさん:2012/12/25(火) 00:20:17.80
>>409
適正がないというほどやったのか?
学校の勉強程度じゃ

412 :デフォルトの名無しさん:2012/12/25(火) 00:27:32.54
さっさと自殺しろってレスが多いと思いきや
>>410
>>411
ありがとう!

とにかくプログラム作って達成感なり感じれるようになったら
孤独とか不安ってのは無くなりますかね?
社会に活かせなくてもいいけど金にならなくていいけど
精神的に満たされたい

413 :デフォルトの名無しさん:2012/12/25(火) 00:41:20.99
うん

414 :デフォルトの名無しさん:2012/12/25(火) 00:55:05.98
自分の作ったプログラムを我が子のように感じる人もいるそうだな。
何か分かる気がするわ。

415 :デフォルトの名無しさん:2012/12/25(火) 01:08:18.92
ほとんど大きいミスしないプログラマっているらしいな
逆にミスする奴は死ぬほどするっていう


情熱大陸に出てた奴はミス少ないらしい
適性があると心は満たされるだろうなぁ

416 :デフォルトの名無しさん:2012/12/25(火) 01:13:23.17
10回間違う奴か1回しか間違わない奴のどれか
間は無いんだよなぁ

417 :デフォルトの名無しさん:2012/12/25(火) 01:25:57.26
間違ったっていいんだよ、リリース前までに発覚すれば
間違ったっていいんだよ、同じ間違いを繰り返さなければ

418 :デフォルトの名無しさん:2012/12/25(火) 10:05:26.60
ミスの影響の大小は条件が同じならば単なる運。

419 :デフォルトの名無しさん:2012/12/25(火) 10:43:54.14
運だね

420 :デフォルトの名無しさん:2012/12/25(火) 12:41:42.31
>>13,110,217,225,246,252,290,293,355,363,419

なんだか妖怪っぽい

421 :デフォルトの名無しさん:2012/12/25(火) 12:43:52.98
そうだね

422 :デフォルトの名無しさん:2012/12/25(火) 12:47:34.04
「妖怪っぽいね」って言って欲しかった

423 :デフォルトの名無しさん:2012/12/25(火) 14:30:44.05
やだね

424 :デフォルトの名無しさん:2012/12/26(水) 00:55:07.38
俺はコード書くだけでエクスタシー感じるから天職なのだろうか

425 :デフォルトの名無しさん:2012/12/26(水) 01:05:57.77
指示されたフローに黙々とエラー対処を埋め込めるドカタ気質が有るなら天職だね

426 :デフォルトの名無しさん:2012/12/26(水) 05:22:39.12
>>417
一見、優しそうにみえる、酷い言葉

427 :デフォルトの名無しさん:2012/12/26(水) 06:39:52.78
>>412
プログラマの一部は宗教から入るため、必然的に不安や孤独感が無くなります。

428 :デフォルトの名無しさん:2012/12/28(金) 13:23:47.27
すいません。
あるRGBの色と、別のRGBの色とがどのくらい近似しているか、
ということを評価したいんですが、どういう計算結果を評価するのがベストですか?
3次元上の2点間距離を求める公式に、R,G,Bを当てはめるというのは考えましたが、
それ以外にもっと良い方法はありますでしょうか。

429 :デフォルトの名無しさん:2012/12/28(金) 16:40:43.94
>>428
つ色空間http://ja.wikipedia.org/wiki/%E8%89%B2%E7%A9%BA%E9%96%93#.E5.9D.87.E7.AD.89.E8.89.B2.E7.A9.BA.E9.96.93
つ均等色空間・L*a*b*表色系 「シーラブ」http://ja.wikipedia.org/wiki/L*a*b*%E8%A1%A8%E8%89%B2%E7%B3%BB

もっとも単純な変換公式は定義できないように読める。
色とは、所詮人間のもつ3種の視細胞(錐体細胞)の刺激量の組み合わせでしかなく、色空間はそれら刺激量を数値化したものとして定義するのが本義だから、のようだ‥‥
たしかに困った、宿題 http://toro.2ch.net/test/read.cgi/tech/1354070278/447ができるとおもったのだけど。

430 :デフォルトの名無しさん:2012/12/28(金) 16:51:19.25
RGB(50a000)を、RGB(009700)とRGB(8b7300)の近いほうの色で置き換えようと思ったら、
3次元上の2点間距離の公式に当てはめると、
RGB(50a000)とRGB(009700)は、sqrt(6481)に、
RGB(50a000)とRGB(8b7300)は、sqrt(5506)になって、
後者の方が似た色と判定されてしまいますが、
実際の色を見てもらえれば明らかですが、前者の方が近いです。
どうしたらいいですか

431 :デフォルトの名無しさん:2012/12/28(金) 17:21:48.42
だから別の色空間に変換してから距離を決定する

432 :デフォルトの名無しさん:2012/12/28(金) 18:01:45.78
どの色空間が一番いいんすか
とりあえずYUBに変換してから、3次元上の2点間距離を求める公式に
YUBを当てはめてやってみましたが、RBGよりかはよくなりましたが、まだいまいちです。

433 :デフォルトの名無しさん:2012/12/28(金) 18:02:35.86
×YUB
○YUV

434 :デフォルトの名無しさん:2012/12/28(金) 19:14:09.52
色相が近いのを選ぶようにしたら?

435 :デフォルトの名無しさん:2012/12/28(金) 19:25:35.85
HSVだは

436 :デフォルトの名無しさん:2012/12/28(金) 20:11:03.51
ライブラリの静的リンクと動的リンクがよく分かりません
動的リンクは実行時に読み込むもので、静的リンクは実行ファイルに既に含まれているものって解釈でいいですか?
例えばC言語で使うstdio.hはコンパイル時には必要だけど実行時には必要ないので静的リンクですか?
phpなどの言語でincludeしてるのは動的リンクでしょうか。
stdio.hのライセンスを見たらLGPLで、LGPLは動的リンクの時だけ派生ソフトと見なさないらしいので
stdio.hをincludeしてるプログラムは全てLGPLライセンスに従って公開する必要があるのですか?
よろしくお願いします

437 :デフォルトの名無しさん:2012/12/28(金) 20:24:28.67
.Hファイルはリンクとまったく関係ありません

438 :デフォルトの名無しさん:2012/12/28(金) 20:32:30.49
僕の解釈だと.hが静的リンクっぽく感じるんですが、どこが間違っているんでしょう?

439 :デフォルトの名無しさん:2012/12/28(金) 20:37:35.10
includeはプリプロセス

440 :デフォルトの名無しさん:2012/12/28(金) 20:45:32.02
距離*(判断(オマエ or 拾って来た)基準になるz値)

441 :デフォルトの名無しさん:2012/12/28(金) 21:21:38.15
>>436
Cコンパイラの仕組みっていうのは

1.プリプロセッサ(.hファイルの読み込みとマクロ展開)
2.コンパイル(.cファイルを.objに変換)
3.リンク(.objファイルを実行形式にリンク)

という仕組みになっている。.hファイルはコンパイル以前に
展開されるものだからリンクには関係ない。

スタティックリンクはライブラリに含まれる.objファイルを
リンク時に実行形式に含めるもの。

ダイナミックリンクはライブラリに含まれる.objファイルを
実行時に読み込むもの。

442 :デフォルトの名無しさん:2012/12/28(金) 21:31:36.13
えっ?

443 :デフォルトの名無しさん:2012/12/28(金) 21:35:43.30
>>436
ライブラリの実態はobjファイル

コンパイルした時に一緒にするのが静的リンク
実行するときだけ一緒になるのが動的リンク

速度は静的リンクに分があって
メモリ効率や差し替えには動的リンクに分がある

嫁=静的リンク
セフレ=動的リンク

444 : ◆QZaw55cn4c :2012/12/28(金) 22:57:08.11
でもライブラリとオブジェクトファイルはやっぱり区別したくなるよね。

445 :デフォルトの名無しさん:2012/12/28(金) 23:21:28.17
ここみると…自分もはじめとっつきにくい部分ではあるよね
ライブラリとかコンパイルやリンクの概念。

446 :デフォルトの名無しさん:2012/12/28(金) 23:32:51.57
手動で.EXE/実行ファイル、.OBJ/.LIB/.o、.DLL/.so の各ファイルを一通り作ってみて使ってみればわかるじゃない

447 :デフォルトの名無しさん:2012/12/28(金) 23:35:28.86
>>446
自分でやれ

448 :デフォルトの名無しさん:2012/12/28(金) 23:36:09.21
>>447
バイナリエディタで機械語でも入力してろカス

449 :デフォルトの名無しさん:2012/12/28(金) 23:43:22.51
>>447
自分でやったよ?

450 :デフォルトの名無しさん:2012/12/29(土) 05:40:16.07
cygwinでコンパイルすると95%くらいの確率で
なんかだらだらと文章がでてやっとコンパイルされるんだが、
これ表示させないようにする方法とかあるのか?
だらだらとでる文章は
[main] gcc〜とか[main] gcc-4〜
とか長々としたもの。
警告文とかではない。

451 :デフォルトの名無しさん:2012/12/29(土) 07:48:49.99
>>450
そのメッセージを貼ってみ

452 : ◆QZaw55cn4c :2012/12/29(土) 09:35:45.69
それって g++ のテンプレート関係じゃない?たしかにアレはまったく持って意味不明というか
それはそうと gcc4 から specs はなくなったそうで、じゃ、だれが -v をデフォルトオプションにふくませたんだろうね

453 :デフォルトの名無しさん:2012/12/29(土) 09:37:40.77
釣り質問なので晴れませ~んwwwww

454 :デフォルトの名無しさん:2012/12/29(土) 15:47:47.06
0 [main] collect2 6904 fhandler_disk_file::fixup_mmap_after_fork: requeste
d 0xFFE90000 != 0x0 mem alloc base 0x0, state 0x10000, size 65536, Win32 error 4 87
347 [main] collect2 6904 C:\cygwin\lib\gcc\i686-pc-cygwin\4.5.3\collect2.exe
: *** fatal error in forked process - recreate_mmaps_after_fork_failed

>>450だけど、こんなかんじだ。
けせないのかこれは?

455 :デフォルトの名無しさん:2012/12/29(土) 17:25:40.50
ファイルをストリームであつかうのはなぜなんでしょうか
ランダムアクセスなシーケンスですよね
ネットワークやパンチカードなら順次送られてくる流れという見方がしっくりくるのもわかります
でも現代的なファイルまでストリームでやる意味は無いと思います

456 :デフォルトの名無しさん:2012/12/29(土) 17:41:19.57
現代的なファイルってのは
ひとつ10GBとか50GBあるファイルのことか?

457 :デフォルトの名無しさん:2012/12/29(土) 22:18:49.67
>>455
意味がないと思うなら、勝手に止めればいいと思う。
ただし、その考えを他人に押しつけるのだけは勘弁してくれ。

458 : ◆QZaw55cn4c :2012/12/29(土) 22:31:44.52
>>455
別にランダムアクセスしたければいかようにもできるし、でもランダムアクセスって固定長前提の様な気がするんですけど、固定長って今でも現役なんでしょうか?>プロの方

459 :デフォルトの名無しさん:2012/12/29(土) 23:01:31.93
mallocでポインタのポインタを作って、それを関数に引数として渡した後、どこでfreeをするのが正解ですか?

460 :デフォルトの名無しさん:2012/12/29(土) 23:11:07.91
まずはお前はどこが政界だと思っているんだ
それを書けよ

461 :デフォルトの名無しさん:2012/12/29(土) 23:15:23.73
使い終わったらすればよい
その後すぐ終わるプログラムならいちいちしなくていいよ

462 :デフォルトの名無しさん:2012/12/29(土) 23:51:00.70
>>459
呼び元でmallocするなら呼び元でfree、呼び先でmallocするなら、解放用の関数作ってそこでfreeさせるようにしている。

463 :デフォルトの名無しさん:2012/12/30(日) 00:12:14.87
>>459
main以外★mallocの後にfree不要と言うバカいるの?
http://toro.2ch.net/test/read.cgi/tech/1352812333/

464 :デフォルトの名無しさん:2012/12/30(日) 10:42:14.45
>>459
基本的にはmallocしているところと対称の位置でfreeするよう考えながらプログラムするといい。
例:
ブロックの最初でmallocして、最後でfreeする。
for () {
p = malloc();
...
free(p);
}

最後に利用したところでfreeするという方法もあるが、ダングリングポインタが
発生する可能性があがるのでお勧めしない。

465 :デフォルトの名無しさん:2012/12/30(日) 12:02:41.28
途中でリターンしたいやろうが

466 :デフォルトの名無しさん:2012/12/30(日) 13:18:03.61
そういうつまらない突込みしているキミが基本を外すのは10年早い。

467 : ◆QZaw55cn4c :2012/12/30(日) 13:22:56.91
>>464
その作法はwin32apiでも(一様ですが)仮定されているので、それはそれで一つのやり方だとは思うですが、それを守っていると正直つらいときがあります。
(くどくど言い訳16行を省略)
もうBoemGCでいいんじゃないですかー

468 :デフォルトの名無しさん:2012/12/30(日) 13:25:11.94
お前はレス禁止。うんこスレに引っ込んでろ。

469 :デフォルトの名無しさん:2012/12/30(日) 14:02:07.61
今日日、win32apiを叩かないとダメな仕事って何だろう

470 :デフォルトの名無しさん:2012/12/30(日) 14:04:40.87
>>459
Foo** make_foo()
void delete_foo(Foo** foo)
のように領域を確保する関数、関数型マクロを用意する

471 :デフォルトの名無しさん:2012/12/30(日) 14:44:05.14
仕様ですが
安倍内閣は危ない核

472 :デフォルトの名無しさん:2012/12/30(日) 17:54:23.82
一様じゃなく一応でしょ

473 :桃白白:2012/12/30(日) 19:48:47.81
バイナリツリーの実装について教えてください。
http://uploda.cc/img/img50e01979480bd.png
バイナリツリーに値が画像のように存在するときに再帰を使わずにこの形式で出力したいです。
  6
 5
  4
3
  2
 1
  0

書いたコードはこれです。このTree_dumpをどのように実装したらいいのか教えてください。
桃白白困ってます。教えてください。お願いします。
http://ideone.com/3LSYo3

474 :デフォルトの名無しさん:2012/12/30(日) 20:19:45.14
LIFOつくって退避する。
チンカスが寄ってくるから続きはうんこスレでやれ。

475 :桃白白:2012/12/30(日) 20:38:38.59
>>474
えーわかんなーい、桃白白そんな適当な説明じゃわかんなーい。
LIFOてスタックでいんでしょ。スタックをどう使うの? そこんとこ教えて。

476 :デフォルトの名無しさん:2012/12/30(日) 20:53:27.63
push 3
push 5
push 6
if(行き止まり)  pop & print // 6
戻った      pop & print // 5
push 4
if(行き止まり)  pop & print // 4
戻った      pop & print // 3
push 1
push 2
if(行き止まり)  pop & print // 2
戻った      pop & print // 1
push 0
if(行き止まり)  pop & print // 0

という感じかな

477 :デフォルトの名無しさん:2012/12/30(日) 21:50:24.28
動作の正しさは保証しない
ttp://ideone.com/DLQDf8

478 :デフォルトの名無しさん:2012/12/30(日) 22:16:42.77
> 再帰を使わずに
> 再帰を使わずに
> 再帰を使わずに
> 再帰を使わずに
お題も理解せずにドヤ顔でウンコードを張り付けるバカってなんなの?

479 :桃白白:2012/12/30(日) 23:17:03.74
>>476
見た。桃白白いま考えてる。超考えてる。

>>477
桃白白、スタックオーバフローが超怖いから再帰しないやりかたを知りたいの。

480 :デフォルトの名無しさん:2012/12/31(月) 00:05:28.96
>>479
再帰関数を自作スタックを使うように書き換えるだけでよくね?
基礎だからググればサンプルも山ほど見つかるんじゃね?

481 : ◆QZaw55cn4c :2012/12/31(月) 00:08:51.11
>>479
>スタックオーバフローが超怖いから
平衡二分木が現実的かと

昔は同じくスタックオーバーフローが超怖いので非再帰にこだわっていたこともありましたソースが発掘できたらあげます

482 : ◆QZaw55cn4c :2012/12/31(月) 00:11:12.94
>>474
hello, world!

483 : ◆QZaw55cn4c :2012/12/31(月) 00:19:50.61
>>479
みつけた、あげる
http://codepad.org/kktRxfQd

484 :桃白白:2012/12/31(月) 02:19:23.24
>>476
できたー、やったー、あけおめー。ありがとうございました。
http://ideone.com/RDNCac
状態変数を使って右をたどっているのか左をたどっているのか
わけるようにした。

485 :桃白白:2012/12/31(月) 02:40:30.37
>>483
もらう。gotoでできちゃうわけ、gotoすげー半端ねー。
平行二分探索木はバランスとっちゃうやつね、知ってる。

486 : ◆QZaw55cn4c :2012/12/31(月) 02:51:27.55
>>485
いや、これは struct Node に作業用変数を設け、巡回時(int lib_output(struct Lib_node *p, int (*out_f)(void *)))に戻り位置を記録しておくもの。
これといった必要性もなく goto を使ってしまったと思っています。いずれにせよ当時は二分木の危険性を過大視しておりました。DOSだったし。

487 :桃白白:2012/12/31(月) 06:37:12.05
状態変数もいらないのか。インデントしなければこれでできちゃうな。

void a(Stack s, Node n) {
 while (n != NULL) {
  Stack_push(s, n);
  n = n->right;
 }
}

void Tree_dump(Tree tree) {
 Stack s;
 Node n;
 
 s = malloc(sizeof(struct Stack));
 a(s, tree->root);
 while (s->root != NULL) {
  n = Stack_pop(s);
  printf("%d\n", n->value);
  a(s, n->left);
 }
 free(s);
}

488 :デフォルトの名無しさん:2012/12/31(月) 07:40:53.44
--
 Stack s;
 s = malloc(sizeof(struct Stack));
--
腐ってやがる。

489 :桃白白:2012/12/31(月) 08:02:57.83
>>488
         ____
       /      \  
     /  _ノ  ヽ、_  \ そんなこと言われても
    /  (●)  (●)   \    桃白白どうすりゃいいのさ
    |     (__人__)    |
    \     ` ⌒´     /
   /´           `\
  /  /          l  l   .
__l  l_.[] _____/_/__
  \, ´-'ヽ
    ヾ_ノ
     |
     |
     |__   コロ・・・・
    _____\    コロ・・・・
   ()__)」

490 :デフォルトの名無しさん:2012/12/31(月) 08:04:52.91
s が NULL かどうかチェックしろ、ということでは?

実質的にいるのか?

491 :デフォルトの名無しさん:2012/12/31(月) 08:26:14.48
typedef struct Hoge *Hoge って気持ち悪くない?

492 :デフォルトの名無しさん:2012/12/31(月) 09:30:14.89
>>489
今すぐ、死ねばいいよ。↓これも
> Tree tree = malloc(sizeof(struct Tree));
> Tree_add(tree, 3);

493 :デフォルトの名無しさん:2012/12/31(月) 09:30:30.12
うん

494 :桃白白:2012/12/31(月) 09:48:02.55
>>492
なんでー? 意味わかんなーい。

495 :デフォルトの名無しさん:2012/12/31(月) 09:50:30.28
mallocの戻り値はポインタだけど
struct Treeとかstruct Stackはポインタなの?
ポインタだとするとmallocの引数がポインタのサイズになってておかしいよ

496 :デフォルトの名無しさん:2012/12/31(月) 09:53:02.77
あ、ちゃんと読めてなかったtypedefしたのとstructのままので分けてるのか
気にせんといてー

497 :デフォルトの名無しさん:2012/12/31(月) 10:03:11.04
>>494
お前を含めて、わからないバカ共は死んだ方がいい。
死ぬのがいやならウンコスレでウンコこねて遊んでろ。出てくるな。

498 :デフォルトの名無しさん:2012/12/31(月) 10:26:26.81
>>491
typedefしないと、変数を定義する際にイチイチstructって書かないとダメだろ

>>494
Tree make_tree(){ return (Tree)malloc(sizeof(struct Tree)); }
free_tree(Tree *tree){ free(tree); }

499 :デフォルトの名無しさん:2012/12/31(月) 10:28:37.81
vipのAAって久々に見たけど、他人をイラだたせるのにスゴク効果的だな

500 :デフォルトの名無しさん:2012/12/31(月) 10:37:33.69
> typedefしないと、変数を定義する際にイチイチstructって書かないとダメだろ
お前もバカだな。そういう意味じゃない。

501 :デフォルトの名無しさん:2012/12/31(月) 10:39:12.44
>>498
typedefすること自体に文句つけてると思ったのかよw

502 :デフォルトの名無しさん:2012/12/31(月) 10:42:41.43
>>498
お前破壊的にバカ。こんなバカ久しぶりに見た。そういう事じゃない。www
> >>494
> Tree make_tree(){ return (Tree)malloc(sizeof(struct Tree)); }
> free_tree(Tree *tree){ free(tree); }

503 :デフォルトの名無しさん:2012/12/31(月) 15:20:00.79
動的二次元配列を0で初期化したいのですがfor
でまわす以外に方法ってなにかあるのでしょうか??

504 :デフォルトの名無しさん:2012/12/31(月) 15:23:36.68
calloc

505 :デフォルトの名無しさん:2012/12/31(月) 15:28:00.37
>>503
memset

506 :デフォルトの名無しさん:2012/12/31(月) 16:02:31.09
優しい奴が多いな。

507 :デフォルトの名無しさん:2012/12/31(月) 17:02:34.81
エディタ何使って開発してますかー
VisualStudioはどうでもいいので、回答しなくて結構ですよ

508 :デフォルトの名無しさん:2012/12/31(月) 17:03:23.74
>>502
他人を煽りたいだけだろ

509 :デフォルトの名無しさん:2012/12/31(月) 17:04:23.68
>>507
emacs,vim
この話終わり

510 :デフォルトの名無しさん:2012/12/31(月) 17:13:13.38
>>508
微妙に違う。PGの適性の無いバカを煽ってるだけ。
おい、白白。おまえがクソコード撒餌したおかげで記録的なバカが釣れたぞ。
反省文書け。

511 :デフォルトの名無しさん:2012/12/31(月) 17:19:40.07
>>504
>>505
ありがとうございます

512 :デフォルトの名無しさん:2012/12/31(月) 17:20:47.70
>>507
漢は黙ってcat

513 :デフォルトの名無しさん:2012/12/31(月) 17:23:45.87
>>510
>>492の解説は?

514 :デフォルトの名無しさん:2012/12/31(月) 17:32:31.81
ああ、>>488から>>497までか

515 :デフォルトの名無しさん:2012/12/31(月) 17:39:19.61
>>488>>492は別人だ。
解説が必要なバカも同罪。わかるまで考えて遺書か辞表か反省文書け。
しかもおせっかいな通りすがりがヒント出してるのに。

516 :デフォルトの名無しさん:2012/12/31(月) 17:43:23.85
malloc,freeの直書きが気持ち悪くてつい

517 :デフォルトの名無しさん:2012/12/31(月) 17:46:09.12
優越感に浸っちゃってるつもりなんだろうな、かわいそうな人

518 :デフォルトの名無しさん:2012/12/31(月) 17:46:12.29
その程度じゃ「PGの適性が無いバカ」とまでは罵らねーよ。

519 :デフォルトの名無しさん:2012/12/31(月) 17:46:49.60
普通は関数マクロでメモリ取るよね?

520 :デフォルトの名無しさん:2012/12/31(月) 17:49:13.17
>>517
適性の無いバカは哀れだねえ。気づいて無いのは白白と>>498の二人だけだろうな。

521 :デフォルトの名無しさん:2012/12/31(月) 17:50:26.77
日常的にcなんて触るもんじゃないし

522 :デフォルトの名無しさん:2012/12/31(月) 17:50:50.42
具体的に書けないのは、指摘され返されたら面目丸つぶれだからなの?

523 :デフォルトの名無しさん:2012/12/31(月) 17:52:12.74
三人ぐらい居てカオス

524 :デフォルトの名無しさん:2012/12/31(月) 17:52:17.78
>>518
まず罵ろうというのがおかしくね?
幼少時代になんかあったの?

525 :デフォルトの名無しさん:2012/12/31(月) 17:54:54.79
だいたいみんな、興味を持ち出して、BSD付属のコマンドを覗いたぐらいから、
大学を卒業してM$AccessやPHPで仕事をする

526 :デフォルトの名無しさん:2012/12/31(月) 17:57:08.87
>>524
さあ、なんでだろうね。わからないけどバカみると吐き気がする。

527 :デフォルトの名無しさん:2012/12/31(月) 17:59:53.30
今日日、cで仕事をしようなんて、大体は幼少時代に何かあった人たち

528 :デフォルトの名無しさん:2012/12/31(月) 18:01:58.14
typedef struct Hoge *Hoge;ってどっかの流派であるの?
C++に慣れた頭からすると、C++だとstruct HogeはHogeという型名でもアクセスできるから、混乱しそうだなとは思うんだけど。

529 :デフォルトの名無しさん:2012/12/31(月) 18:04:43.64
cじゃ変数定義するときにstruct付けないとエラー出るよ
gccないの?

530 :デフォルトの名無しさん:2012/12/31(月) 18:05:11.20
確かに俺も混乱しそうだと思う
初めてパッと見たときに勘違いする

というのはわかるが、>>515には何がダメなのか解説してほしい
typedefが理解できてないだけなんじゃないか?

531 :デフォルトの名無しさん:2012/12/31(月) 18:21:52.65
はあ? 気持ち悪いtypedefだがそんな事で罵っていない。
>>488は引用が一行足りないので、もしかするとそれで煽ってたのかもしれないが、
>>492みて疑問を持たないバカは死んだ方がいい。

>>492
> Tree tree = malloc(sizeof(struct Tree));
> Tree_add(tree, 3);

532 :デフォルトの名無しさん:2012/12/31(月) 18:22:19.90
アマチュアはプロジェクトに沿ったコーディング規約を使えば良い
自動車業界なんかだと、MISRA-cなり規格やら検査ツールがあるらしい
きっと、年末年始や土日祝日も開発室に篭って仕事なんだろう

533 :デフォルトの名無しさん:2012/12/31(月) 18:22:55.93
>>519
どんな普通?

534 :デフォルトの名無しさん:2012/12/31(月) 18:24:22.45
>>533
BSDなり、メモリ確保するあたり
あんなの幼少時に何かあった人たちだよ
計算機に育てられたか、計算機の中で生まれたか

535 :デフォルトの名無しさん:2012/12/31(月) 18:25:12.32
レビューの達人を召喚しよう。w
http://toro.2ch.net/test/read.cgi/tech/1352812333/420 出てきて指摘してやれよ。

536 :デフォルトの名無しさん:2012/12/31(月) 18:29:39.44
>>531
具体的にコードで指摘してみろよ、バーカww

537 :デフォルトの名無しさん:2012/12/31(月) 18:35:14.00
やなこった。悔しいかバカ。w

538 :デフォルトの名無しさん:2012/12/31(月) 18:36:47.84
自信がないからできないだけ

539 :デフォルトの名無しさん:2012/12/31(月) 18:40:32.84
>>533
#define MALLOCしとくとメモリアロケータをごっそり入れ替える事が容易。
ツールキットによっては独自のメモリアロケータ使う事が必要な場合もあるので、
オープンソースな開発ではかなり普通に使われているテクニック。

540 :デフォルトの名無しさん:2012/12/31(月) 18:44:40.49
>>538
うんこQzが得意とする炎上学習法。ww
「コードコード」と必死に連呼するさまもQzそのもの。
というわけで、修正

> 適性の無いバカは哀れだねえ。気づいて無いのは白白と>>498とバカのQzの三人だけだろうな。

541 :デフォルトの名無しさん:2012/12/31(月) 18:54:22.84
自  信  が な  い の で  で き ま せ  ん

542 :デフォルトの名無しさん:2012/12/31(月) 18:56:16.99
悔しそうだな。バカ。
白白が気付いて反省文書くまでまってろ。w

543 :デフォルトの名無しさん:2012/12/31(月) 18:58:26.12
意訳:自信がないのでできません

544 :デフォルトの名無しさん:2012/12/31(月) 19:00:02.87
意訳: バカでわからないので教えてください。

545 :デフォルトの名無しさん:2012/12/31(月) 19:01:36.95
意訳:バカなので答えることができません

546 :デフォルトの名無しさん:2012/12/31(月) 19:02:33.84
バカなので句点の後に草を生やしてしまいます

547 :デフォルトの名無しさん:2012/12/31(月) 19:11:35.86
桃白白ってただの無知な初心者だったのか
コテハン使うくらいだからそれなりに骨のある奴かと思ってたわ

548 :デフォルトの名無しさん:2012/12/31(月) 19:28:40.38
意訳: バカでわからないので教えてください。

549 :デフォルトの名無しさん:2012/12/31(月) 19:47:40.78
意訳:バカですが恥ずかしいコードを晒すことは何があっても回避します

550 :デフォルトの名無しさん:2012/12/31(月) 19:51:32.31
意訳: 無知でバカなので>>483のようなウンコードも平気で晒します。

見た瞬間めまいがしてすぐに閉じた。w

551 :デフォルトの名無しさん:2012/12/31(月) 19:54:38.85
意訳:バカなのでコテハンの存在が疎ましく難癖つけて憂さを晴らします

552 :デフォルトの名無しさん:2012/12/31(月) 19:56:41.71
バカなので肥溜めに自ら入り込んでしまいます

553 :デフォルトの名無しさん:2012/12/31(月) 20:03:45.18
バカなのでQzと同じ土俵に立っていることがまるで理解できていません

554 : ◆QZaw55cn4c :2012/12/31(月) 20:06:13.63
>>550
ごめんね
気づけのお薬あげる、よく利くよ つhttp://upload.wikimedia.org/wikipedia/commons/c/c2/Thorazine_advert.jpg

555 :デフォルトの名無しさん:2012/12/31(月) 20:31:52.72
Qzじゃ無いとしても、コードコードと騒ぐ炎上学習法を真似て実践するクズだから、
こんな簡単な事も気づけないんだろうな。惨めすぎる。

白白はとっとと反省文書くように。その他のQzを含む気付けないバカ共は遺書を書け。

556 :デフォルトの名無しさん:2012/12/31(月) 20:36:49.86
自称霊感が強い、なので他の人には見えないものが見えてしまいます

557 :デフォルトの名無しさん:2012/12/31(月) 20:52:24.83
>>482だけじゃバカにはわからないらしいからもう少しヒントをやろう。
これがおかしいコードだと気づけないバカは年越さずに死ね。

> Tree tree = malloc(sizeof(struct Tree));
> Tree_add(tree, 3);
> Tree_add(tree, 1);

558 :デフォルトの名無しさん:2012/12/31(月) 20:56:34.63
何でこんなに荒れるんやろねぇ
まぁ何にしろ書き込んでるのはひとりやろけどね

559 :デフォルトの名無しさん:2012/12/31(月) 21:04:45.51
バカが分をわきまえればいい。

560 :デフォルトの名無しさん:2012/12/31(月) 21:05:55.30
>>488あたりから自演がひどい

561 :デフォルトの名無しさん:2012/12/31(月) 21:13:35.26
オレ(>>492)は>>488じゃないわけだが。自演に見えるのはバカの証拠。
でも、教えてもらったらきっと死にたくなるよ。えれー基本的な事だから。

こんなバカどものウンココードで世の中は動いてるんだろうと想像すると
こっちが死にたくなってくるけどな。

562 :デフォルトの名無しさん:2012/12/31(月) 21:15:34.52
>>557

563 :デフォルトの名無しさん:2012/12/31(月) 21:15:42.04
> こんな××どもの×××コードで某巨大掲示板は動いてるんだろうと想像すると
> こっちが死にたくなってくるけどな。

564 :デフォルトの名無しさん:2012/12/31(月) 21:16:58.26
>>561
とっとと思いを遂げろ
自意識過剰のバカ

565 :デフォルトの名無しさん:2012/12/31(月) 21:18:33.99
>>561
くだらないやり取りを、自演という表現に換えただけですよ。

566 :デフォルトの名無しさん:2012/12/31(月) 21:21:04.32
>>557で気付かないバカは分をわきまえた方が生きやすいぞ。

567 :デフォルトの名無しさん:2012/12/31(月) 21:22:36.54
入門編スレで息巻く先輩、マジパネーっす

568 :デフォルトの名無しさん:2012/12/31(月) 21:29:06.64
入門者が質問するスレであって、バカが答えるスレじゃ無いわけだ。

569 :デフォルトの名無しさん:2012/12/31(月) 21:36:00.25
答えないやつがなに偉そうに言ってんの?って感じ

570 :デフォルトの名無しさん:2012/12/31(月) 21:37:47.54
×答えない
○答えられない

571 :デフォルトの名無しさん:2012/12/31(月) 21:45:15.59
自称回答者のバカには教えてやらない。

572 :桃白白:2012/12/31(月) 21:50:35.76
>>528
typedef struct Hoge *Hogeの流派はないんじゃね。すくなくとも桃白白は
同じことをする人を知らない。マジでかーやめたほうがいいのか。
C++だとtypedefでどんな名前にしちゃうの?

573 :デフォルトの名無しさん:2012/12/31(月) 21:51:43.85
マジカッケーっすww
ところでわりんすけどタバコ買ってきてもらえません?

574 :デフォルトの名無しさん:2012/12/31(月) 22:06:11.68
int **matrix;
matrix = (int **)calloc(gyo,sizeof(int));
if (matrix==NULL){
exit(1);
}
for (i=0; i<gyo; i++) {
matrix[i] = (int *)calloc(retu,sizeof(int));
if (matrix[i]==NULL)
{
exit(1);
}}
すみません、これなんですが、
callocで配列は確保できているみたいなのですが
ところどころ(5こおきに等)0になりません
間違いをおしえてくださいmm

575 :デフォルトの名無しさん:2012/12/31(月) 22:12:57.28
>>574
もしかして
sizeof(int) != sizeof(int*)

576 :デフォルトの名無しさん:2012/12/31(月) 22:15:33.35
>>572
構造体とそれへのポインタを同じ名前にするとかキチガイ沙汰。

とっとと>>557で指摘されてるのなおして反省文書くように。
バカ共が必死で答えを待ってるぞ。

577 :デフォルトの名無しさん:2012/12/31(月) 22:23:42.95
キチがキチと呼ぶ

578 :デフォルトの名無しさん:2012/12/31(月) 22:27:22.17
>>576
変数じゃねえだろ型にtypedefしてるだけだ

579 :デフォルトの名無しさん:2012/12/31(月) 22:33:58.00
>>575
すみません(int*)って何をあらわしてるんですか??

とりあえずsizeof(int) == sizeof(int*)でした

580 :デフォルトの名無しさん:2012/12/31(月) 22:44:27.57
>>578
更にわかってないバカが参入

581 :デフォルトの名無しさん:2012/12/31(月) 23:03:05.22
キャストもわからないんじゃ、入門書を3冊ぐらい読んでから
またくるんだね。

582 :デフォルトの名無しさん:2012/12/31(月) 23:07:45.20
>>580
Cの規格書読み直せバカ
あ、読んでねえからそんな発言がでんだな

583 :574:2012/12/31(月) 23:44:20.84
>>581
sizeof(int *)
今までわからずにつかってましたが、というかつかってないが
後ろの部分ってキャストだったんですね
(int **)calloc
の(int **)もよくわかりません、**ってのが特にわかりません
どうかおしえてください

584 :デフォルトの名無しさん:2012/12/31(月) 23:46:15.74
sizeof はキャストじゃないっぺ。

585 :デフォルトの名無しさん:2012/12/31(月) 23:55:19.30
>>582
お前がバカって事は良くわかってるから、そんなに必死でアピールしなくてもいい。
もうすぐ年越すけどやっぱりわからないんだろ。さすがバカ。wwww

586 :デフォルトの名無しさん:2012/12/31(月) 23:55:46.00
>>574
再現する最小構成のソースを貼ってくださいと何度言わせれば
おそらくmatrixへのアクセスミスだろうとエスパーしてみた
5個おきではないので違うっぽいけど
http://codepad.org/Phyx7G5V

>>583
int**は読んでそのまま、intへのポインタへのポインタ。でっていう。
ポインタはCで挫折しやすい所だから、まずはしっかり勉強した方がいい。
ここで一から聞くのではなく、図などで分かりやすく説明してるサイトで勉強して、
そのうえで分からない所をここで聞け。
キャストなども同じ。基礎を勉強しないでノリでサンプル動かしてる感じかい?

587 :574:2012/12/31(月) 23:59:06.50
>>584
ですよねー
sizeof(int *)
は(int *)のサイズ求めてるだけですよねー;
もしかして581って違う人にいってたとしたらはずいな;

588 :574:2013/01/01(火) 00:04:44.35
>>586
ありがとうございます、すいません
はろうとしたのですが、なんか忍者修行中で、リンクはれませんでした;;

ですね。勉強します。
苦しんで覚えるC言語入門(サイト)
は一通りしました。

やり方ググッてとりつけてるかんじです。

589 :574:2013/01/01(火) 00:08:23.66
http://codepad.org/kyDz6Khv

590 :574:2013/01/01(火) 00:09:35.95
すみません、OTZはれましたOTZ

591 :デフォルトの名無しさん:2013/01/01(火) 00:10:48.30
最新のヴァkはh抜かすのもできねーのかよ

592 : ◆QZaw55cn4c :2013/01/01(火) 00:12:39.43
>>572
やりたいことは理解したつもりです。結論からいうと、>>484 のまずいところは以下の2点

1) malloc() して得た領域が 0 クリアされていることを仮定している。
> Tree tree = malloc(sizeof(struct Tree)); 
の直後に
> Tree_add(tree, 3);
をおいてしまっている。たぶん、c++/java のコンストラクタにあたるものを C にするときに書き落としてしまっているかと。

2) malloc() の帰り値はチェックしたほうがいいんじゃないかな?

>typedef struct Hoge *Hoge
名前空間が違うからねえ可能といえば可能だけれども。もう C++/java 的な考え方に染まっておられるんですね。
確かに非再帰に書けばスタックオーバーフローの恐怖からは逃れられるけれども、この問題の場合も私ならば再帰的に書いてしまう。
http://ideone.com/fya8EI
木構造は再帰的ゆえに木構造を扱うアルゴリズムも再帰的に書いて楽をしたくなってしまいます。
スタックオーバーフローは別の手段で回避しようかと、リンク時にスタックサイズを指定したり、ああ、最近 AVL 木を添削してもらったのでぼちぼち使い始めています。

あけおめ!

593 : ◆QZaw55cn4c :2013/01/01(火) 00:25:38.57
>>539
なるほどねえ、現に私ことQZも早々とアロケータはデバッグのための自前物にしちゃってるからねえ、オープンソースものに参加するのもいいかもしれませんね。

594 :574:2013/01/01(火) 00:30:39.17
591
最近のバカはその後httまで抜かすも戻るを押し書き込んだ模様です

595 :デフォルトの名無しさん:2013/01/01(火) 00:40:29.53
h抜かす必要ないのに

596 :桃白白:2013/01/01(火) 00:45:04.73
>>592
rootにNULLを入れるのが抜けてるってことね。
mallocのNULLチェックは質問の本旨と関係ないから省いた。
AVL木の添削したのはじつは桃白白だったりしちゃうんだけど、削除の方はできた?

597 :デフォルトの名無しさん:2013/01/01(火) 00:53:33.69
>>596
その節はありがとうございます。:-)
今のところはうまくいっているようですが、まだ自分で再構成できるまでには至っていない、削除ルーチンはまだだし、当分は無理かなあ、まだ怖くて怖くて。

598 :桃白白:2013/01/01(火) 01:14:25.79
>>597
二分探索木の削除はわかる? AVL木の削除はそれに平衡処理を追加するだけだ。

599 : ◆QZaw55cn4c :2013/01/01(火) 01:27:29.70
>>598
二分木の削除はOKですが、木回転が一回で終わらないのが今のところの難所になっています。ああ、これは本のサンプルを見たほうがはやいかもしれませんね。

600 :桃白白:2013/01/01(火) 02:58:17.72
>>599
削除時に回転が必要になるのは左右の木の高さの差が2になったとき。
左右の木の高さの差が2になるのは木の高さが1減ったとき。
木の高さが1減るのは木のバランスがイーブンになったとき。

木のバランスがイーブンになるのは
  左に傾いている木の左のノードを削除したとき。
  右に傾いている木の右のノードを削除したとき。
  木の回転が行われたとき。

木のバランスがイーブンでなかったら木の高さは変わってないわけだから
平衡がとれてるってことでその上のノードでは回転は必要なくなる。

削除時の回転は、回転後にバランスがイーブンになるものと、
回転後にバランスがイーブンにならないものとがある。

分類するとこうなる。
http://i.imgur.com/8xf54.png

ノードのバランスをチェックすることで左への回転か右への回転かを
わけることができる。子のバランスをチェックすることで一重回転か
二重回転かをわけることができる。一重回転のときは子のバランスを
チェックすることで回転後のバランスをわけることができる。
二重回転のときは孫のバランスをチェックすることで回転後のバランスを
わけることができる。

削除時はパターンが2個増えて、平衡したという判断の仕方が変わるだけ。難しくないっしょ。

601 :デフォルトの名無しさん:2013/01/01(火) 03:15:10.87
>>572
C++の場合、
struct Hoge {
int a;
};
自体が
typedef struct Hoge {
int a;
} Hoge;
相当になる。というかclassとstructがほとんど違いがない。(メンバ変数のデフォルトのアクセス制限の違いだけだったはず)

602 :桃白白:2013/01/01(火) 03:33:55.52
>>601
なるほどー、桃白白もそう書くことにしようかな。

603 :デフォルトの名無しさん:2013/01/01(火) 08:29:15.39
> rootにNULLを入れるのが抜けてるってことね。
年を越したらようやく正解が出てたか。 白白は反省文書くように。Stackも同様。

こんな簡単な事を恥ずかしくないコード出せとか必死で煽ってたバカは死にたくなっただろう。
もう死んだ? >>549とか >>549とか >>549とか >>549とか

まぐれで動くこともあるから、普通にレビューの経験積んでればこの程度の事は一瞥で
わかるようになってるもんだ。
3年以上PGやっててわからなかった奴は才能無いからホームレスに転職しろ。

604 : ◆QZaw55cn4c :2013/01/01(火) 08:48:08.33
>>603
たしかにこの種のバグはデータ構造を扱うようになると一度は出会う、QZのような馬鹿だと何度も首をかしげることになりますね。
そこで、>>592 に一端を示してもいる「QZアロケータ」では malloc()したあとにランダム値を書き込んで返すという cmalloc() と真逆のことをして早期発見に努めています、本質的な対策にはなっていませんけど。
もっとも最近はめっきりと出会うことはなくなりました。

でも本当は c++ にさっさと移行してコンストラクタをきっちり書くことでしょうね。
>>603 ご指摘感謝アマチュアには身に余る配慮でした。
自然対数の底の展開もなんかやらかしてるのかな?

>>600
子ノードを左右とも持つノードの削除で思考/試行格闘中です。

605 :デフォルトの名無しさん:2013/01/01(火) 11:20:31.42
>>603
結局おまえば出せずじまいじゃん
ちょろっと晒してドヤ顔してればいいものを
よほど自信がなかったんだろうなwwバーーカ

606 : ◆QZaw55cn4c :2013/01/01(火) 11:46:20.30
>>605
may be >>477

607 :デフォルトの名無しさん:2013/01/01(火) 12:46:41.66
>>605
こんな簡単なのでドヤ顔で指摘しろとか、本当にバカって惨め。
>>515でヒントのヒント、そのあとでヒント>>557を出してるのにバカには
わからなかったんだな。吐き気がするほどのバカ、破滅的に頭が悪い。

んじゃ、お年玉代わりにバカ向けにドヤ顔で解説してやる。感謝しろよ。バカ。

>>515の「おせっかいな通りすがり」とは彼ら(>>503-505)
-------------------------------------
>>503
> 動的二次元配列を0で初期化したいのですがfor
> でまわす以外に方法ってなにかあるのでしょうか??

>>504
> calloc

>>505
> >>503
> memset
-------------------------------------

続いて>>557の解説
mallocの後の領域初期化は要注意ポイント。
それをいきなりTree_addに渡している。Tree_addの引用が一行だけなら
Tree_addで初期化する可能性も否定できないが、2行引用すればバグであること
が明らかにになる。

> Tree tree = malloc(sizeof(struct Tree));
> Tree_add(tree, 3);
> Tree_add(tree, 1);

608 :デフォルトの名無しさん:2013/01/01(火) 12:58:18.38
ふーん

609 :デフォルトの名無しさん:2013/01/01(火) 14:03:48.62
>>607
解説っつーか、バカだの死ねだの発言が問題なわけですがそれは理解できてるんですか?

610 :デフォルトの名無しさん:2013/01/01(火) 14:26:29.35
バカにバカといって何が悪い。

611 :デフォルトの名無しさん:2013/01/01(火) 14:26:49.59
うん

612 :デフォルトの名無しさん:2013/01/01(火) 14:32:48.84
なんでこう回りくどい人なんだろ

613 :デフォルトの名無しさん:2013/01/01(火) 14:56:58.50
バカって言われたくなければ、自分の順位を正しくはかる事だ。

614 :デフォルトの名無しさん:2013/01/01(火) 15:01:27.84
正月くらい美しく過ごしなさいな

615 :デフォルトの名無しさん:2013/01/01(火) 15:16:38.98
>>613
普段どんな惨めな生活を送ってるんですか?
よほどでなければこうまでねじ曲がらないと思うんですけど?

616 :デフォルトの名無しさん:2013/01/01(火) 15:48:41.85
バカと言われたのがそんなに悔しいなら、最初から出しゃばらなきゃ良かったんだよ。
お前のようなバカは、自分のバカさを認識して分をわきまえた方が生きやすいと思うぞ。

617 :デフォルトの名無しさん:2013/01/01(火) 16:04:11.22
マァその小さすぎる梅干し程度の脳味噌じゃ自前で認識できないようだから
有難くも私がお前はバカだアホだマヌケだと懇切丁寧に教えてやっているんだがな
カネとってもいいくらいだ

618 :デフォルトの名無しさん:2013/01/01(火) 16:17:58.12
こんな底辺スレで何をそんなに大きく出ちゃってるんだこのバカは
実生活でのストレスやらはこんなところくらいでしか発散させられないほどのバカなんだろうな

619 :デフォルトの名無しさん:2013/01/01(火) 16:26:43.13
>>618
底辺PGなんてそんなものだ
察してやろうぜ

620 :デフォルトの名無しさん:2013/01/01(火) 16:26:55.50
>>618
>>615

621 :デフォルトの名無しさん:2013/01/01(火) 16:27:09.76
争いは、同じレベルの者同士でしか発生しない

622 :デフォルトの名無しさん:2013/01/01(火) 16:47:42.38
まあこれで少しは懲りたでしょうな

623 :デフォルトの名無しさん:2013/01/01(火) 16:50:05.51
「バカだの死ねだの発言が問題」とかいいながらバカを連発して回りくどいバカだな。

624 :デフォルトの名無しさん:2013/01/01(火) 16:50:51.95
すいません。
ビットマップ画像に、アルファベット、ひらがな、カタカナ、数字、記号を入れて、
指定した文字を画面に描画する処理を作っているんですが、
if分の分岐が100を超えてしまうと、VCがコンパイルエラー表示してしまいます。
if分の分岐を使わずに、指定した文字の座標をセットするにはどうしたらいいでしょうか

625 :デフォルトの名無しさん:2013/01/01(火) 16:52:01.88
>>623
バカ認定してる相手にバカって言われてそんなに悔しいの?www
だったら最初からかみついてくるんじゃねーよバーーーカww

626 :デフォルトの名無しさん:2013/01/01(火) 16:53:21.45
その分岐の一部を貼ってみなよ。

627 :デフォルトの名無しさん:2013/01/01(火) 16:53:52.77
>>624
後学のためその力作のソースを是非とも見てみたいから
ideoneとかにうpしてくれると
新年から討論の種が増えてわたくしはうれしいので
是非ともうpしてちょーだい

628 :デフォルトの名無しさん:2013/01/01(火) 17:00:55.69
if分岐使わないって、関数ポインタの配列によるテーブル化のこと指してるのかな?

629 :デフォルトの名無しさん:2013/01/01(火) 17:01:17.32
>>625
そんなに頭が悪くて生きているのつらくないか? バカだからそれすらないのか。
自然はうまくできてるな。

630 :デフォルトの名無しさん:2013/01/01(火) 17:01:49.89
いや、普通にこういうのが並んでるだけだけど。

if (strcmp(c_jp, "あ") == 0){ pos->src.x = CHAR_SIZE*0; pos->src.y = CHAR_SIZE*0; }
else if(strcmp(c_jp, "い") == 0){ pos->src.x = CHAR_SIZE*1; pos->src.y = CHAR_SIZE*0; }

else if(strcmp(c_jp, ":") == 0){ pos->src.x = CHAR_SIZE*20; pos->src.y = CHAR_SIZE*2; }
else if(strcmp(c_jp, " ") == 0){ pos->src.x = CHAR_SIZE*21; pos->src.y = CHAR_SIZE*2; }
else if(strcmp(c_jp, "「") == 0){ pos->src.x = CHAR_SIZE*22; pos->src.y = CHAR_SIZE*2; }

if (c == 'a'){ pos->src.x = CHAR_SIZE*10; pos->src.y = 0; }
else if(c == 'b'){ pos->src.x = CHAR_SIZE*11; pos->src.y = 0; }
else if(c == 'c'){ pos->src.x = CHAR_SIZE*12; pos->src.y = 0; }
else if(c == 'd'){ pos->src.x = CHAR_SIZE*13; pos->src.y = 0; }

631 :デフォルトの名無しさん:2013/01/01(火) 17:05:10.14
なんつーかこう、isascii()とか文字コード判定処理を使おうという
知能は働かないのかね。

632 :デフォルトの名無しさん:2013/01/01(火) 17:05:10.48
#define NCHARTYPE 128
typedef void (*funcp)();
void str_a();
int main(){
funcp str_tbl[NCHARTYPE];
str_tbl['a']=str_a();
}
こんな感じのコードを書きたいけど、書けない学部生なら昔見た

633 :デフォルトの名無しさん:2013/01/01(火) 17:05:29.22
>>629
>>629

634 :デフォルトの名無しさん:2013/01/01(火) 17:09:28.56
data = array[あ];

ってやるとdataに"あ"のX座標とY座標が入るみたいなイメージ。
STLのマップとかでできないですかね

635 :デフォルトの名無しさん:2013/01/01(火) 17:10:22.19
stlのmapでやれよ
cでやるならhash関数ぐらい自分で書け

636 :デフォルトの名無しさん:2013/01/01(火) 17:12:14.00
stlのマップのキー値ってchar* の文字列でもいいんでしたっけ

637 :デフォルトの名無しさん:2013/01/01(火) 17:12:54.45
C言語にSTLは無いのでできません

638 :デフォルトの名無しさん:2013/01/01(火) 17:15:50.85
>>637
cstlってライブラリならあります。glibとか基本的なデータ構造は用意されてます
>>634
それって、構造体ポインタの配列(hash)じゃないの?

639 :デフォルトの名無しさん:2013/01/01(火) 17:16:27.63
>>630
普通は
"あ" -> 0, "い" -> 1
'a' -> 10, 'b' -> 11
を計算で求める。でも、計算式を考えるのが嫌だったら。
↓こういう関数作れば解決。

int z(const char *c_jp)
{
if(strcmp(c_jp, "あ") == 0){ return 0;}
if(strcmp(c_jp, "い") == 0){ return 1;}
}

int e(char c)
{
if(c == 'a'){ return 10;}
if(c == 'b'){ return 11;}
}

640 :デフォルトの名無しさん:2013/01/01(火) 17:19:55.54
計算結果求めるのに結局if文がいっぱい並ぶじゃないすか

641 :デフォルトの名無しさん:2013/01/01(火) 17:21:15.01
elseでつないでいるから複雑すぎると言ってコンパイラが降参する。
if () return v;
これの連続だけなら楽勝で通る。

642 :デフォルトの名無しさん:2013/01/01(火) 17:23:47.63
もっとかっこいいやつがいいです

643 :デフォルトの名無しさん:2013/01/01(火) 17:24:23.86
{ pos->src.x = CHAR_SIZE*11; pos->src.y = 0;}
この部分、関数かマクロで纏めろよ

644 :デフォルトの名無しさん:2013/01/01(火) 17:27:46.87
>>642
if () return v;
をうまく配置して格好いい絵でも書けよ。

645 :デフォルトの名無しさん:2013/01/01(火) 17:30:49.14
>>630
21世紀型プログラミングの真髄を垣間見た
これこそが今の時代に求められるC言語の使い方だ
わたくしはこれ以上この美しいソースを書きかえることなんてできない

646 :デフォルトの名無しさん:2013/01/01(火) 17:31:05.49
>>633
おまえさー、スゲー簡単な答えかもしれないって事を考えずにコードコードと煽ってたのか?
スゲー簡単な答えが出てきたら(実際出てきちゃったんだが)どうするつもりだったんだ?

バカの思考回路は良くわからないな。

647 :デフォルトの名無しさん:2013/01/01(火) 17:34:58.94
>>646
そうじゃなくて、煽ることばかりのお前の態度を指摘していたんだよ(最初から
それが読み取れないのはバカだから?日本人じゃないから?

648 :デフォルトの名無しさん:2013/01/01(火) 17:35:11.24
int hash(const char *cp){
if () return z();
if () return e();
return -1;
}

#define INSERT(a,b,c)
Foo hash_tbl[]={
INSERT(hash("あ")),
INSERT(hash("い")),
...
}
アイディアだけ書く

649 :デフォルトの名無しさん:2013/01/01(火) 17:36:33.78
C++スレへ行ってSTLの使い方聞くだけでいい

650 :デフォルトの名無しさん:2013/01/01(火) 17:37:56.14
>>649
このぐらいならSTLなんてイラナイだろ

651 :デフォルトの名無しさん:2013/01/01(火) 17:39:47.57
>>647
それに対抗するために煽り返していたのか。バカの後付けの言い訳は見苦しすぎる。
足りない頭で必死に考えて、そんな回答ないと確信して煽ってたんだろうな。
バカすぎwww

652 :デフォルトの名無しさん:2013/01/01(火) 17:40:23.36
この半角のおっさんここにもいるのかwwww
うかうかしてらんねーな

653 :デフォルトの名無しさん:2013/01/01(火) 17:43:11.44
>>650
STL使えるVC++でSTLを避ける意味はない。

654 :デフォルトの名無しさん:2013/01/01(火) 17:43:27.03
>>650
STLはこのくらいのものばかりだよ

655 :デフォルトの名無しさん:2013/01/01(火) 17:43:46.71
>>651
>そんな回答ないと確信して

ここら辺がバカすぎ
全く理解できてない
あるかないかは関係ないだろwww

656 :デフォルトの名無しさん:2013/01/01(火) 17:45:12.94
C++スレ池

657 :デフォルトの名無しさん:2013/01/01(火) 17:45:24.81
>>653
ひょっとすると、visual studioでgnuへ貢献しようとしてるかもしれないだろ

658 :デフォルトの名無しさん:2013/01/01(火) 17:53:35.33
gnuへ貢献ってstl使っちゃいかんの?

659 :デフォルトの名無しさん:2013/01/01(火) 17:57:52.64
>>655
つまり、気に入らない態度に対して同じ態度で煽り返していたと。バカ丸出しwww
バカは後付けで言い訳考えない方がいいぞ。

660 :デフォルトの名無しさん:2013/01/01(火) 17:59:15.68
基本的にcで書ける人の方が多いからcで書けってRMSが唱えてたよ
いろんな分野の混じったとき、c++が読めない人も居るからとかなんとか
論文だか草稿だかならみた記憶ならあるけれど

661 :デフォルトの名無しさん:2013/01/01(火) 18:02:25.55
とかいいつつ、 gcc は c++ で書き直されたんだよな。

662 :デフォルトの名無しさん:2013/01/01(火) 18:06:35.59
>>661
スラド民の誰かが、中の人が中二病起こしたって書いてたな
技術的な詳細なんてシラネ。そんな人間がこの板を通り掛かるわけもないだろうし

663 :デフォルトの名無しさん:2013/01/01(火) 18:07:29.44
>>659
同じことをしてやればさすがに理解できるだろうからだよwww
分かったかバカwwwww
しかし、バカにバカって言って何が面白いのか

664 :デフォルトの名無しさん:2013/01/01(火) 18:10:21.92
if ()
else if()
else if()
...
が、どのくらいいけるか試してみた。VC++ 500行OK, 700行はだめ。
clang, gccは10000行でもOK
VC++ 弱すぎ。

665 :デフォルトの名無しさん:2013/01/01(火) 18:13:09.74
>>663
残念ながらバカにバカといわれても全然平気。
それより気に入らない態度を自分が真似できる神経を尊敬する。バカってある意味最強だな。

666 :デフォルトの名無しさん:2013/01/01(火) 18:15:42.51
>>665
これが部下なら鉄拳制裁してやれるのにな

667 :デフォルトの名無しさん:2013/01/01(火) 18:18:51.68
やられたら手段を選ばずやり返すって、日本人のメンタリティじゃないよね。

668 :デフォルトの名無しさん:2013/01/01(火) 18:22:37.78
>>665
バカと言われるのは平気と言いながらもレスを絶やすのはできないほど高いプライドをお持ちのようでwwww

669 :デフォルトの名無しさん:2013/01/01(火) 18:23:29.49
バカの正体は多分↓これだな。これをバカにされたのを粘着してたのか。読み返してみてもバカすぎる。www

From: [498] デフォルトの名無しさん <sage>
Date: 2012/12/31(月) 10:26:26.81

>>491
typedefしないと、変数を定義する際にイチイチstructって書かないとダメだろ

>>494
Tree make_tree(){ return (Tree)malloc(sizeof(struct Tree)); }
free_tree(Tree *tree){ free(tree); }

670 :デフォルトの名無しさん:2013/01/01(火) 18:23:42.01
息を吐くようにバカバカ連呼できるのは半島人だからか

671 :デフォルトの名無しさん:2013/01/01(火) 18:25:48.21
うん。相手には、何も言い返すことなくデスクに座って集中している頃合を見計らって、
背後から忍び寄り、後頭部に手を置いて、そのままディスプレイに叩きつけるよ

672 :デフォルトの名無しさん:2013/01/01(火) 18:26:36.97
>>669
全然、違うよw

673 :デフォルトの名無しさん:2013/01/01(火) 18:27:27.56
>>668
お前ほどのとびっきりのバカはめったにいないからな。

674 :デフォルトの名無しさん:2013/01/01(火) 18:30:22.43
>>673
逆にお前のような奴はどこぞの半島に腐るほどいるんだよな

675 :デフォルトの名無しさん:2013/01/01(火) 18:36:14.06
どっちも小学生の喧嘩レベルになってるぞ

676 :デフォルトの名無しさん:2013/01/01(火) 18:37:18.61
自分の気に入らない態度に対して同じ方法で煽り返したお前が朝鮮人だろうと言っているんだが。

677 :デフォルトの名無しさん:2013/01/01(火) 18:38:55.24
今、何人居るんだ?3〜5人ぐらい?w

678 :デフォルトの名無しさん:2013/01/01(火) 18:40:31.37
>>675
まあしょうがないよ。↓こういう下等な人間もどきなんだから。

> 同じことをしてやればさすがに理解できるだろうからだよwww

679 :デフォルトの名無しさん:2013/01/01(火) 18:41:48.30
>>675
皆、正月だから小学生の頃に戻ってるんだよ

680 :デフォルトの名無しさん:2013/01/01(火) 18:43:00.50
>>678
日本には毒を以て毒を制すという言葉がありますが、朝鮮にはどうだかは知りません

681 :デフォルトの名無しさん:2013/01/01(火) 18:45:31.69
>>679
どっちもいい年なんだろうなと思うと哀れに思えるよね

682 :デフォルトの名無しさん:2013/01/01(火) 18:46:29.61
FONT_INFO font_info = { 0, 0 };
xxx.insert(pair<char*, FONT_INFO>("あ", font_info));
とやったとして、

xxx.find("あ");
は、必ず見つかるものなの?
"あ"が格納されてるアドレスは必ず同じだと思っていいの?

683 :デフォルトの名無しさん:2013/01/01(火) 18:48:40.35
その昔、右翼団体が合宿してて街宣車が道路を遮ってるわけ。おかげで会社を遅刻したよ。
また路上を遮ってりゃ、アイスピックでお前らのタイヤに穴開けといてやるからな

684 :デフォルトの名無しさん:2013/01/01(火) 18:49:26.26
char str[] = "あいうえお"

char c[3];

c[0] = str[0];
c[1] = str[1];
c[2] = '\0';

xxx.find(c);

これ駄目じゃん。。」

685 :デフォルトの名無しさん:2013/01/01(火) 19:06:57.05
>>680
それは似て非なるもの。

686 :デフォルトの名無しさん:2013/01/01(火) 19:07:46.74
>>682
せめて、std::stringを使え。使ったところで動くか知らんけど
というか、>>648の意味わからなかった?

687 :デフォルトの名無しさん:2013/01/01(火) 19:11:05.77
>>684
とりあえず、全角文字って何バイトか調べろ

688 :デフォルトの名無しさん:2013/01/01(火) 19:12:50.79
>>672
これじゃないのか。
今回はこいつと張本人の白白、Qz以外は個別には罵倒していないはずだが、
大分前に罵倒したバカのうちの一人かな。粘着力が半島人。www

689 :デフォルトの名無しさん:2013/01/01(火) 19:12:55.68
hash関数かあ、面倒くさいなあ

690 :デフォルトの名無しさん:2013/01/01(火) 19:14:02.14
>>682
C++スレで使い方を聞けっつてんだろバカ
お前の頭じゃマニュアルみても使い方わからんだろ

691 :デフォルトの名無しさん:2013/01/01(火) 19:14:26.95
>>689
STL理解してないだろ。理解するのに2〜3日、或いは一週間は掛かるぞ

692 :デフォルトの名無しさん:2013/01/01(火) 19:25:24.00
>>688
罵倒しようという姿勢が半島人
自分の粘着を棚に上げるのも

693 :デフォルトの名無しさん:2013/01/01(火) 19:30:19.55
フォントだけに限定した場合に衝突しないハッシュ関数って考えられないですかね

694 :デフォルトの名無しさん:2013/01/01(火) 19:32:59.02
完全ハッシュ関数

695 :デフォルトの名無しさん:2013/01/01(火) 19:39:14.70
>>687

696 :デフォルトの名無しさん:2013/01/01(火) 19:39:49.64
>>693
オフセット付けるなり適当に工夫汁。

697 :デフォルトの名無しさん:2013/01/01(火) 20:07:02.12
ああできたわ。サンクス

unsigned int hash_val = str[0];
if(str[1] != '\0')
{
  hash_val = hash_val * 256 + str[1];
}

xxx.insert(pair<UI, FONT_INFO>(hash_val, font_info));

698 :デフォルトの名無しさん:2013/01/01(火) 20:08:01.28
バカ必死だな。ww

699 :デフォルトの名無しさん:2013/01/01(火) 20:10:28.88
バカ必死だな。ww

700 :デフォルトの名無しさん:2013/01/01(火) 21:06:45.71
>>697
なぁ、そのhash関数って最大が幾つになるんだ?

701 :デフォルトの名無しさん:2013/01/01(火) 21:35:22.57
255*256 + 255 = 65536
だからintで十分入ると思うが何か問題かな

702 :デフォルトの名無しさん:2013/01/01(火) 21:48:09.15
×65536
○65535

703 :デフォルトの名無しさん:2013/01/01(火) 22:12:32.03
>>700
255*256 + 255 = 65535
だからintで十分入ると思うが何か問題かな

704 :デフォルトの名無しさん:2013/01/01(火) 22:51:26.10
2バイト文字の1バイト目が1バイト文字と一致することってあるのかな

705 :デフォルトの名無しさん:2013/01/01(火) 22:55:53.57
>>704
どのコード体系でいえばいいかにもよるけど、少なくともシフトJISなら
あり得る

706 :デフォルトの名無しさん:2013/01/01(火) 23:17:31.74
double型ってせっかくintの100億倍以上の表現力もあるのに
結局17桁くらいまでしか精度ないんだろう。利点とかってありますか?

707 :デフォルトの名無しさん:2013/01/01(火) 23:18:28.86
お前が使うと利点が消える

708 :デフォルトの名無しさん:2013/01/01(火) 23:25:29.22
>>707
お前それサバンナでも同じ事言えんの?

709 :デフォルトの名無しさん:2013/01/01(火) 23:48:00.62
double型の 1.00+e00っていう表示はfloatの一般小数点表示と比べて
メリットはあるんですか?純粋な疑問

710 :デフォルトの名無しさん:2013/01/01(火) 23:54:55.36
mingwについて質問なのですが
>gcc gtk-sample.c -o gtk-sample `pkg-config gtk+-2.0 --cflags --libs`

「'」の意味と、gccにpkg-configの結果?を渡す理由を教えて下さい

711 :デフォルトの名無しさん:2013/01/01(火) 23:56:14.56
doubleはdoubleになってるからdoubleだろjk

712 :デフォルトの名無しさん:2013/01/02(水) 00:07:12.90
>>455
俺初心者だけどどういう意味ですか?
パンチガードって何?C言語関係あるの?

713 :デフォルトの名無しさん:2013/01/02(水) 00:28:19.35
>>706
ネタなのかマジなのかわからんが、100億倍って桁に直したら10桁だろ。intって8.4桁くらいだろ。足したら18.4桁。大体17桁と違いないから正しいじゃないか。
8桁じゃ困って17桁なら大丈夫な計算なら嬉しいだろう?17桁しかないなら8桁しかないのと同じだと思うの?

714 :デフォルトの名無しさん:2013/01/02(水) 00:33:55.81
>>713
有効桁数は
ビット数 × 0.30102999566398119521373889472449

符号付でも 32bit int なら精度9桁あるぞ

715 : ◆QZaw55cn4c :2013/01/02(水) 00:52:08.60
>>706
分野によっては数値の大小よりも「有効桁数」を優先する場合があります。
科学技術の実験値表現では例えば「光速度:2.99792458 × 10^8 m/s」とかいいますがこの場合有効桁数は9桁になります。
浮動小数点表現は有効桁数を優先した表現方法です。

716 :デフォルトの名無しさん:2013/01/02(水) 00:58:20.44
double型って範囲が
±10^(-308)〜10^(308)
って事は308桁の精度って事じゃないんですか?
intは24億だから10桁の精度。
精度にしたら30倍。違いますか?

717 :デフォルトの名無しさん:2013/01/02(水) 01:01:16.63
>>716
IEEE754でググれ

718 :デフォルトの名無しさん:2013/01/02(水) 01:48:38.93
>>714
すまん一桁カウントし間違えた。0.4桁分はその計算の言わんとする所の意味だよ。
言いたかったのは、100億倍とかいう表現と17桁とかいう表現を混ぜたら、前者は凄く広大な感じがして後者はわい小な感じがするけど、
整合性はだいたいとれてるだろ、ってこと。
そもそも17桁以上の精度を必要とする計算ってそんなに身近なのか?ということを考えた方がいいと思うんだよね。
17桁ってなんかしょぼいな、って感覚的に思って決めつけちゃう前に。大体のものは17桁の精度で測定なんかできないものばかりだろう。
まあ銀行系とかはdoubleじゃ困るだろうけどね。

719 :デフォルトの名無しさん:2013/01/02(水) 06:11:28.69
銀行系はCOBOLやjavaのクラスライブラリを使うだろ

720 :デフォルトの名無しさん:2013/01/02(水) 12:23:06.27
ファイルストリームに関する質問だけど
ファイルを読み込むとき例えば100字のテキストファイルがあって
その70行目まで読み込んでたとします。その時70字分の情報は以降
同じストリームから読み取れないんですか?
プッシュバックとかそういうソフトウェア的なことじゃなくて
もう一回fopenしない限り読み取れませんか?
というか読み込んだファイル情報はすぐにHDDに返されるのでしょうか?

721 :デフォルトの名無しさん:2013/01/02(水) 12:33:52.65
fseek

722 :デフォルトの名無しさん:2013/01/02(水) 12:51:42.66
>>720
>読み込んだファイル情報はすぐにHDDに返されるのでしょうか?
なんで返すんだ?
まさかHDDからメモリに送られた情報は、送り返されるまでHDD上からは消えてるとでも思ってるのか?

723 :デフォルトの名無しさん:2013/01/02(水) 13:05:42.03
>>722
他のシステムユーザからのアクセスを遮断するために
消えると思うんですが違いますか?

で結局stdinなどで読み込んだ文字は以降は絶対に読み込む事は
できないんでしょうか?

724 :デフォルトの名無しさん:2013/01/02(水) 13:08:51.06
すいません送り返されはしませんね
ストリームを閉じたらメモリから消えるという事ですかね?

725 :デフォルトの名無しさん:2013/01/02(水) 13:12:01.61
>>721
fseekって結局プッシュバックと同じ仕組みじゃないんですか?
ただのバッファとそこから取り出すっていうだけの仕組みでしょ?
僕が知りたいのはHDDから読み込めるかどうかです。

726 :デフォルトの名無しさん:2013/01/02(水) 13:22:05.51
>>725
2chなんて信じられないんだろ
本買って読めよ

727 :デフォルトの名無しさん:2013/01/02(水) 13:25:13.71
>>726
はぁ?

728 :デフォルトの名無しさん:2013/01/02(水) 13:26:54.20
>>725
> fseekって結局プッシュバックと同じ仕組みじゃないんですか?
違うよ。

729 :デフォルトの名無しさん:2013/01/02(水) 13:30:19.78
可哀想な子警報age

730 :デフォルトの名無しさん:2013/01/02(水) 13:33:01.78
>>725,727
手元の規格標でsetvbufを検索してみ
てか、糞でかいファイル扱う事を考えたら常識的に考えて分かるでしょ

731 :デフォルトの名無しさん:2013/01/02(水) 14:38:50.06
gccのオプション多すぎ

732 :デフォルトの名無しさん:2013/01/02(水) 14:43:54.03
MSVCだって、コマンドラインで使えば似たようなもの

733 :デフォルトの名無しさん:2013/01/02(水) 15:59:28.26
素人のくせに何でプッシュバックとか無理して知ったかぶるかね。

734 :デフォルトの名無しさん:2013/01/02(水) 16:13:21.04
プッシュバックって何の事?

735 :デフォルトの名無しさん:2013/01/02(水) 16:21:50.25
俺もなんのことかと思ってググってみたが、飛行機を引っ張る車しかでてこない

736 :桃白白:2013/01/02(水) 16:25:02.00
ねえママ、ママもバックからプッシュしたことある?こういうのパパに聞いたほうが
いいのかな、掲示板見たらみんなやってるみたいなんだ、ぼくもプッシュバックしたい。

737 :デフォルトの名無しさん:2013/01/02(水) 16:26:29.80
>>710
バッククォートで括られた箇所は、コマンド実行に置換される
pkg-configってコマンドがあるわけ。manでも読め
実行すると、gtkのヘッダやライブラリの場所がズラズラ出てくる

738 :デフォルトの名無しさん:2013/01/02(水) 16:27:20.27
>>736
可哀想な子

739 :デフォルトの名無しさん:2013/01/02(水) 16:35:00.23
vector の push_back() のことじゃないの?

740 :デフォルトの名無しさん:2013/01/02(水) 16:37:18.53
ああ、push_back(); は vector だけじゃないね

741 :デフォルトの名無しさん:2013/01/02(水) 16:38:47.96
STL以外のpush_backなんて単語を知らなかったから、
>>735>>736は、すごく良い教養になった

742 :デフォルトの名無しさん:2013/01/02(水) 16:40:09.40
>fseekって結局プッシュバックと同じ仕組みじゃないんですか?
>ただのバッファとそこから取り出すっていうだけの仕組みでしょ?

配列の最後尾に追加するのとは全く逆のようだが

743 :デフォルトの名無しさん:2013/01/02(水) 18:01:15.88
プッシュといえばポップだな、普通は

744 :デフォルトの名無しさん:2013/01/02(水) 18:24:29.34
720 :デフォルトの名無しさん:2013/01/02(水) 12:23:06.27
ファイルストリームに関する質問だけど
ファイルを読み込むとき例えば100字のテキストファイルがあって
その70行目まで読み込んでたとします。その時70字分の情報は以降
同じストリームから読み取れないんですか?
プッシュバックとかそういうソフトウェア的なことじゃなくて
もう一回fopenしない限り読み取れませんか?
というか読み込んだファイル情報はすぐにHDDに返されるのでしょうか?


723 :デフォルトの名無しさん:2013/01/02(水) 13:05:42.03
>>722
他のシステムユーザからのアクセスを遮断するために
消えると思うんですが違いますか?

で結局stdinなどで読み込んだ文字は以降は絶対に読み込む事は
できないんでしょうか?


725 :デフォルトの名無しさん:2013/01/02(水) 13:12:01.61
>>721
fseekって結局プッシュバックと同じ仕組みじゃないんですか?
ただのバッファとそこから取り出すっていうだけの仕組みでしょ?
僕が知りたいのはHDDから読み込めるかどうかです。

745 :デフォルトの名無しさん:2013/01/02(水) 23:00:58.92
むかつく質問方法を見事に使いこなしてるな。これもある種の才能だな。

746 :デフォルトの名無しさん:2013/01/03(木) 00:34:19.91
>>745
ヤフー知恵袋でやれ

747 :デフォルトの名無しさん:2013/01/03(木) 13:35:24.99
そうか?

748 :デフォルトの名無しさん:2013/01/03(木) 17:08:15.27
自分が正しいという前提があってそれに対して同意してもらうことを目的にした書き込みだったね
間違ってるどころか何もかも狂ってたから目論見が外れたみたいだけど

749 :デフォルトの名無しさん:2013/01/03(木) 21:47:35.13
makefileは自動生成するツールがありますが、手書きでmakefileを書くメリットってありますか

750 :デフォルトの名無しさん:2013/01/03(木) 21:59:36.98
スレ違いです

751 :デフォルトの名無しさん:2013/01/03(木) 22:16:03.79
>>750
なぜ、スレ違いなの?
めっちゃC言語、入門じゃん

752 :デフォルトの名無しさん:2013/01/03(木) 22:24:00.11
小規模なのは手で書いた方が早いし、
手で書けない人が自動生成ツールを使うのは難しいんじゃないかな。

753 :749:2013/01/03(木) 22:48:57.13
>>752
参考になりました。
ありがとうございます

754 :デフォルトの名無しさん:2013/01/03(木) 23:44:31.42
netpbm
をインストールする時suのパスワードってなにいれるんですか??

755 :デフォルトの名無しさん:2013/01/03(木) 23:47:31.93
>>754
なんでもないです、
すみません

756 :デフォルトの名無しさん:2013/01/03(木) 23:49:26.79
そりゃsuのパスワードだろjk
これ以上はUNIX板にでも行けよ

757 :デフォルトの名無しさん:2013/01/04(金) 00:23:23.61
A 23
F 8
R 23

のような、「文字 数字」をコマンドラインから読み込みたいんだが

char c[5]; int a[5], i = 0; double k;

for(i=0; i<5; i++){
scanf(" %c %d%[\n]",&c[i],&a[i],&k);
}

のようにやるとなぜか6回「文字 数字」を読み込んでしまってうまくいかない。
文字はc[i] 数字はa[i] 改行をkに保存してるんだが
何がおかしいのだろうか・・・・・・orz

758 :デフォルトの名無しさん:2013/01/04(金) 00:39:47.81
scanf使うなら戻り値ちゃんと見たほうがいい

759 :デフォルトの名無しさん:2013/01/04(金) 00:41:31.76
>>758
ありがとうございます。
詳しく調べてみます。

760 :デフォルトの名無しさん:2013/01/04(金) 10:48:43.15
6回読み込んだという理由は?
forを抜けた後iが6だったとか?

761 :デフォルトの名無しさん:2013/01/04(金) 11:00:22.74
>>760 コマンドラインで6行読み取ってしまうんです。
A 1
B 2
C 3
D 4
E 5
F 6
のように・・・・・・printfで調べてみたらi=0でどうやら2行分読み込んでるようで。
でも格納されてる値をみたらc[0]〜c[4]はA〜E、a[0]〜a[4]は1〜5の値が入っていたのでさらに意味不明なことに・・・

762 :デフォルトの名無しさん:2013/01/04(金) 11:09:28.77
>>757
> double k;
> 改行をkに保存してるんだが

意味がわからん。

>>761
printf( ) デバッグするなら、i の値も一緒に表示すれば良いのに…

763 :デフォルトの名無しさん:2013/01/04(金) 12:10:27.77
>>757
char c[5], dummy; int a[5], i;
for(i=0; i<5; i++) {
scanf("%c %d%c", &c[i], &a[i], &dummy);
}

としてみるとか。
 A 123 4567
と入力すると
 A 123
 4 567
となるけど。。

764 :デフォルトの名無しさん:2013/01/04(金) 13:07:54.09
>>757
コマンドラインからでなく、コマンドインタプリタを実行している端末エミュレータから入力しているんだろ。
改行文字をdoubleの変数に保存するなんて阿呆なことしていないできちんと書けよ。
つーか、fgets()で一行入力してからsscanf()でばらす方が無難だと思うが。

765 :デフォルトの名無しさん:2013/01/04(金) 16:52:54.18
無難だね

766 :デフォルトの名無しさん:2013/01/04(金) 17:43:34.43
標準入力から一行読みたいときに
一行の長さを調べるにはどうすればいいの?

767 :デフォルトの名無しさん:2013/01/04(金) 17:48:53.95
普通は一行読み込んで、長さを調べる。

一行の長さが予測できない場合は、適当なサイズ毎に読み込んで
行末がでてくるまで文字数をカウントしていく。

768 :デフォルトの名無しさん:2013/01/04(金) 17:50:08.92
>>766
エスパー回答
http://toro.2ch.net/test/read.cgi/tech/1313183984/35
のどこかにあるchar *mygetline(FILE *fp)を調べれ

769 :デフォルトの名無しさん:2013/01/04(金) 18:54:38.84
標準入力はシーク出来ないんですか?

770 :デフォルトの名無しさん:2013/01/04(金) 18:58:00.04
うん

771 :デフォルトの名無しさん:2013/01/04(金) 19:38:48.81
>>769
標準入力がキーボードの場合シーク要求来たら大変だろ? (w

772 :デフォルトの名無しさん:2013/01/04(金) 19:44:49.38
なんで?

773 :デフォルトの名無しさん:2013/01/04(金) 19:45:02.98
標準入力のタイプによる。レギュラーファイルだったらシークできる。

774 :デフォルトの名無しさん:2013/01/04(金) 21:42:01.61
標準入力をリダイレクトすればできるものにもできる
しなけりゃできない

775 :デフォルトの名無しさん:2013/01/04(金) 23:19:10.79
eclipse cdtの方がvisual studioより使いやすいようなー

776 :デフォルトの名無しさん:2013/01/04(金) 23:21:25.09
mingw+eclipseが最強かな

777 :デフォルトの名無しさん:2013/01/04(金) 23:54:03.03
お前らEDLIN知らねえの?

778 :デフォルトの名無しさん:2013/01/05(土) 00:50:25.15
dos 版の ed ね、でも漢なら
echo > file
あるのなら
cat > file
だろう?

779 :デフォルトの名無しさん:2013/01/05(土) 03:23:19.72
江戸がギリだな、それより懐古するともはやコーディングとかって話じゃなくなる

780 :デフォルトの名無しさん:2013/01/05(土) 17:21:35.33
あぁ腹減った

781 :デフォルトの名無しさん:2013/01/05(土) 20:13:48.00
microsoft visual c++ 2010 を使っているんですけど、
「間接参照のレベルが'int*'と'int[4][5]'で異なっています。」
という警告が出てきます。
この警告の意味はどういうことなのでしょうか??

782 :デフォルトの名無しさん:2013/01/05(土) 20:29:58.01
>>781
警告そのまんま
int*とint[4][5]の型が違いますってこと

てかソース貼れ

783 :デフォルトの名無しさん:2013/01/05(土) 21:10:22.92
嫌です

784 :デフォルトの名無しさん:2013/01/05(土) 21:18:41.75
は?

785 :デフォルトの名無しさん:2013/01/05(土) 22:39:59.17
rand()なんですが値が
100以下がほとんどでない。
ほとんどが億レベルなんですが理由は何でしょうか?
234213423
23513123
5634521324
234523546
.
.
.
.
3


2000回に一回ペースで100以下が出る。

786 :デフォルトの名無しさん:2013/01/05(土) 22:42:35.80
完全にランダムと仮定して
全体のうち百以下の数の個数と
億単位の個数がいくつあるか
自分の手で計算してごらん

787 :デフォルトの名無しさん:2013/01/05(土) 23:42:52.22
ごらんとかうるせーよ

788 :デフォルトの名無しさん:2013/01/05(土) 23:44:52.66
計算してごらん 百位かの割合を 簡単なことさ

789 :デフォルトの名無しさん:2013/01/05(土) 23:53:02.42
僕らの下に地獄なんてないし
僕らの上にはは空があるだけ
計算してごらん すべての人がその日暮らし…

790 :デフォルトの名無しさん:2013/01/05(土) 23:54:00.82
ははははは

791 :デフォルトの名無しさん:2013/01/05(土) 23:56:14.16
ゴランに聞いてごらん

792 :デフォルトの名無しさん:2013/01/05(土) 23:57:58.37
printf("%f回に1回くらい出る\n", RAND_MAX/100.0);

793 :デフォルトの名無しさん:2013/01/05(土) 23:58:10.02
>>787
ヒント:NGワード

794 :デフォルトの名無しさん:2013/01/06(日) 00:08:12.38
http://codepad.org/h6z6poQO

795 :デフォルトの名無しさん:2013/01/06(日) 01:07:17.67
見上〜げて、ごらん〜夜の〜ほ〜しを〜

796 :デフォルトの名無しさん:2013/01/06(日) 19:25:02.72
GAを組んでいるのですが、個体の中身が1だけでしか表示されません。
なぜなのでしょうか??
適応度は個体によってバラバラなのになぜか遺伝子は1のみになってしまいます。
(個体は2次元配列で、2進数によって表現しているつもりです)
おかしい所だらけだと思うのですが、よろしくお願いします。

#include <stdio.h>
#include <stdlib.h>
#include <limits.h>

#define N 5 // 遺伝子長
#define M 50 // 個体数
#define ml 4 //音符数
#define T 10 // 世代数
#define Pc 0.50 // 交叉確率
#define Pm 0.10 // 突然変異確率

// 遺伝子型の定義
struct genotype {
int gene[ml][N]; // 遺伝子
float fitness; // 適応度
};

float evaluation(int *a); //適応度計算
void one_point_crossover(struct genotype *ind); //交叉
void mutation(struct genotype *ind); //突然変異
void roulette_selection(struct genotype *ind); //選択
int flip(float prob); //
void print_process(struct genotype *ind, int generation); //出力

797 :デフォルトの名無しさん:2013/01/06(日) 19:27:39.08
int main(int argc, char *argv[]) {
int i; // 個体インデックス
int j; // 遺伝子座インデックス
int s; // 音符数インデックス
int t; // 世代インデックス
struct genotype individual[M]; // 個体
struct genotype erito; //エリート


// 乱数seedの設定
if(argc < 2) { // プログラムの引数が足りない場合
printf("Usage: %s [SEED_NUMBER]\n", argv[0]);
exit(1);
}
else {
srand(atoi(argv[1]));
}

// ステップ1 (0世代目)
for(i=0; i<M; i++) {
for(s=0; s<ml; s++){
for(j=0; j<N; j++) {
individual[i].gene[s][j] = flip(0.5);
}
individual[i].fitness = evaluation(individual[i].gene); // 個体の適応度計算
}
}
print_process(individual, 0); // 初期世代の個体群を表示

798 :デフォルトの名無しさん:2013/01/06(日) 19:29:17.28
//0世代目のエリート選択
for(i=1;i<M;i++){
if(individual[0].fitness < individual[i].fitness){
individual[0] = individual[i];
}
erito = individual[0];
}

// ステップ2 (1〜T世代)
for(t=1; t<=T; t++) {

// 交叉
one_point_crossover(individual);
// 突然変異
mutation(individual);
// 子個体の適応度値計算
for(i=0; i<M; i++) {
individual[i].fitness = evaluation(individual[i].gene);
}


// ルーレット選択
roulette_selection(individual);

799 :デフォルトの名無しさん:2013/01/06(日) 19:29:51.37
individual[0] = erito; //エリート挿入
for(i=1;i<M;i++){
if(individual[0].fitness < individual[i].fitness){
individual[0] = individual[i];
}
erito = individual[0]; //更新
}
print_process(individual, t);
}
return(0);
} // End of main()


// 個体の適応度計算
float evaluation(int *a) {
int j; // 遺伝子座インデックス
int count = 0; // 遺伝子中の`1'の数

for(j=0; j<N; j++) {
count += a[j];
}
return((float)count);
} // End of evaluation()

800 :デフォルトの名無しさん:2013/01/06(日) 19:33:20.45
不要だと思った箇所は省きました


// 個体の中身や適応度値を画面に出力
void print_process(struct genotype *ind, int generation) {
int i; // 個体インデックス
int s; //音符数インデックス
int j; // 遺伝子座インデックス
float max_fit, min_fit, avg_fit; // 最大,最小,平均適応度

// 各個体の中身を出力
printf("\n世代数: %d\n", generation);
for(i=0; i<M; i++) {
printf("第%d個体:\n ", i);
for(s=0; s<ml; s++){
for(j=0; j<N; j++) {
if(ind[i].gene[j] == 0) printf("%c", '0');
else printf("%c", '1');
}
printf(" : %.0f\n", ind[i].fitness);
}
}

801 :デフォルトの名無しさん:2013/01/06(日) 20:19:13.96
> ★ソースコードを晒すと答えやすくなるかもしれません。
>   # 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること。
>   # サイズが大きい場合はアップローダ等を利用してください。
> http://codepad.org/
> http://ideone.com/

802 :デフォルトの名無しさん:2013/01/06(日) 20:31:55.59
>>1のテンプレすらも詠まずに長々とだらしないコードをここに張り付ける
その精神性からしてすでに能力が透けて見える

そして極めつけは不要だと自分で判断したコードの中にバグがある場合
もしもここまで来るならそれはどうしようもない

803 :デフォルトの名無しさん:2013/01/06(日) 20:32:19.38
>>797です。

http://codepad.org/IX0mhVGD#comment-s6ofTdEf

804 :デフォルトの名無しさん:2013/01/06(日) 20:38:50.37
>>802
まあまあそう熱くなるなよ
答えてやるついでに軽く言うくらいが
大人の対応だぜ

805 :デフォルトの名無しさん:2013/01/06(日) 20:39:37.14
何度もすみません。
訂正があったので
http://codepad.org/00e0CHIz

806 :デフォルトの名無しさん:2013/01/06(日) 21:02:07.37
>>805
222行目
× > if(ind[i].gene[j] == 0) printf("%c", '0');
○ > if(ind[i].gene[s][j] == 0) printf("%c", '0');

でないかい?

807 :デフォルトの名無しさん:2013/01/06(日) 21:09:35.36
余談だが
printf("%c", '0'); → printf("0");
で良いような

808 :デフォルトの名無しさん:2013/01/06(日) 21:26:07.18
int flip でこうやる
float x = (float)rand() / (float)RAND_MAX ;

809 :デフォルトの名無しさん:2013/01/06(日) 21:31:15.90
こいつのレスのコード見返したけど
やっぱり不要だと思って勝手に省いた部分ジャネーカ
隠れた部分にバグとか、そのままじゃぜってーみつかんねーよ
あおりまくってヴァカにするまでたたかないとコードはでてこねー

810 :デフォルトの名無しさん:2013/01/06(日) 22:30:13.31
普通状況を再現できる最小限のコードをさらすはずなので大丈夫さ

811 :806:2013/01/06(日) 22:41:06.95
>>805
float evaluation(int *a);
も気になる。

for (j = 0; j < N; j++) {
count += a[j];
}
 ↓
for (j = 0; j < ml * N; j++) {
count += a[j];
}
の方が期待される結果を得られるんでないかい?

812 :806:2013/01/06(日) 23:27:48.98
そういえば、あと 2つ。

[1] 44行目
// ステップ1 (0世代目)
for(i=0; i<M; i++) {
for(s=0; s<ml; s++){
for(j=0; j<N; j++) {
individual[i].gene[s][j] = flip(0.5);
}
individual[s].fitness = evaluation(individual[s].gene); // 個体の適応度計算
//individual[i].fitness = evaluation(individual[i].gene); // 個体の適応度計算
}
}
   ↓
for(i=0; i<M; i++) {
for(s=0; s<ml; s++){
for(j=0; j<N; j++) {
individual[i].gene[s][j] = flip(0.5);
}
}
individual[i].fitness = evaluation(individual[i].gene); // 個体の適応度計算
}
 でないかい?

[2] 141行目
temp[j] = ind[ia].gene[j];
   ↓
temp[j] = ind[ia].gene[s][j];
 でないかい?

813 :デフォルトの名無しさん:2013/01/06(日) 23:47:42.36
>>805のコードで
struct genotype individual[M];

void print_process(struct genotype *ind, int generation); //出力
のindに渡しているけど、print_process()内で
ind[i]でアクセスして大丈夫でしたっけ。

void print_process(struct genotype ind[M], int generation); //出力
に渡すなら、間違いなくind[i]でアクセス出来るのはわかるけど。

814 :デフォルトの名無しさん:2013/01/07(月) 04:56:25.90
Cを制す者は世界を制す

815 :デフォルトの名無しさん:2013/01/07(月) 07:44:29.95
>>813
問題ないよ

816 :デフォルトの名無しさん:2013/01/07(月) 09:27:31.16
>>813
引き数リストのtype name[size]は、type * nameと解釈されるから全く問題ない。
寧ろ、配列そのものではないのでsizeは書かないのが一般的。

817 :デフォルトの名無しさん:2013/01/07(月) 15:02:30.93
ATARUに出てきたのがC言語だとすぐにわかった
声聞くと一番簡単なプログラムだがスイーツはこれを聞いたらすげえと思うのか

818 :813:2013/01/07(月) 19:29:11.36
>>815-816
ありがとうございます。

struct genotype *ind と struct genotype **ind で勘違いしていました。
ttp://ideone.com/GkZdrC で実験して理解出来ました。

819 :デフォルトの名無しさん:2013/01/08(火) 00:35:40.79
LinuxでC言語のプログラム書くときにVCみたいなやつないんすか
エディタはvimでいいんですけどビルドとかコンパイル対象のファイルの指定とか
makefile書くのめんどくさいんすけど

820 :デフォルトの名無しさん:2013/01/08(火) 00:39:25.88
中学生はプログラムなんてやってないで勉強してろ

821 :デフォルトの名無しさん:2013/01/08(火) 00:41:14.03
makefileっていってもファイル名を並べて書くだけとかのレベルでしょ
難しく考えすぎなんじゃない
VCみたいなのといったらeclipseだろうか たぶんmakefileより面倒な気がするけど

822 :デフォルトの名無しさん:2013/01/08(火) 02:02:44.92
Eclipseでいいんじゃない?Makefileより面倒かどうか、は、Makefileに慣れてるかどうか、って感じじゃない?
VSに慣れた自分はEclipseのCDTは結構使いやすく感じるよ。Makefileでのビルドもできるしね。
てか、補完に関してはVSより使いやすい部分も多いし。CamelCaseでの補完(JDTでいうBIS→BufferedInputStreamみたいなやつ)がはやくVCのIntellisenseにも実装されてほしいよ。

823 :デフォルトの名無しさん:2013/01/08(火) 06:56:38.62
>>819
Linuxはボランティアが作っているからねえ。
有料のVSと同じ環境が無料で得られたらMSが潰れてしまう。
楽したけりゃ金出してWindows使っとけという話。

824 :デフォルトの名無しさん:2013/01/08(火) 08:12:56.24
VS部門が無くなったってMSは潰れん

825 :デフォルトの名無しさん:2013/01/08(火) 12:03:31.11
ボランティアが日本語のいわゆる「ボランティア」のことなら、Linuxを作ってるのはそれだけじゃない。
給料貰ってそれを仕事としてやってる人間の方がむしろ多い。

826 :デフォルトの名無しさん:2013/01/08(火) 12:30:58.45
日本語がどう、じゃなくてマスゴミが、ボランティア=無償奉仕かのように間違ったイメージを広げてるだけ。

827 :デフォルトの名無しさん:2013/01/08(火) 12:37:21.56
つまり金貰って開発してるのにGUIのある開発環境すら作れない無能集団ということ?

828 :デフォルトの名無しさん:2013/01/08(火) 12:49:54.12
何言ってんだこいつ

829 :デフォルトの名無しさん:2013/01/08(火) 13:40:50.59
Linuxを作ってる人が開発環境を作ってるわけじゃないだろうし
開発環境はLinuxだけターゲットにしてるわけでもないだろうし
じゅんを

830 :デフォルトの名無しさん:2013/01/08(火) 15:15:29.50
MSと比較されて「ボランティアだから」と言い訳したバカが混乱の原因。
そんな事は言い訳にはならない。

831 :デフォルトの名無しさん:2013/01/08(火) 15:21:21.24
オープンソースプロジェクトはバカ避けしにくいって問題もあるだろうな
自己主張が激しいだけの無能とかワラワラいそうだ

ブランチ作って永遠にそこから出て来るな!
って言ってもバカは言うことを聞かない

832 :デフォルトの名無しさん:2013/01/08(火) 15:31:35.14
iPhoneの無料アプリのレビューも酷いが、あれはあれでウンコアプリの
抑止力になっているのか。

833 :デフォルトの名無しさん:2013/01/08(火) 15:44:12.26
>>832
広告アプリの足の引っ張り合いかも

834 :デフォルトの名無しさん:2013/01/08(火) 16:55:53.56
>>805です。
問題としていたところが解決されました。
本当にありがとうございました。

835 :デフォルトの名無しさん:2013/01/08(火) 18:52:10.93
>>805です。
何度もすみません。

現段階では、評価値が各個体ごとに出力されているのですが、
各個体の、各行(5ビットの2進数)ごとに評価値を出力させるには
どうしたらよいのでしょうか??

836 :デフォルトの名無しさん:2013/01/08(火) 20:29:08.57
上で指摘された箇所を修正したものです。

http://codepad.org/gZhkoLWp

837 :デフォルトの名無しさん:2013/01/09(水) 02:28:08.71
0x00000000,0x77073096,0xee0e612c,0x990951ba,0x076dc419,0x706af48f,0xe963a535,0x9e6495a3,
0x0edb8832,0x79dcb8a4,0xe0d5e91e,0x97d2d988,0x09b64c2b,0x7eb17cbd,0xe7b82d07,0x90bf1d91,
0x1db71064,0x6ab020f2,0xf3b97148,0x84be41de,0x1adad47d,0x6ddde4eb,0xf4d4b551,0x83d385c7,
0x136c9856,0x646ba8c0,0xfd62f97a,0x8a65c9ec,0x14015c4f,0x63066cd9,0xfa0f3d63,0x8d080df5,
0x3b6e20c8,0x4c69105e,0xd56041e4,0xa2677172,0x3c03e4d1,0x4b04d447,0xd20d85fd,0xa50ab56b,
0x35b5a8fa,0x42b2986c,0xdbbbc9d6,0xacbcf940,0x32d86ce3,0x45df5c75,0xdcd60dcf,0xabd13d59,
0x26d930ac,0x51de003a,0xc8d75180,0xbfd06116,0x21b4f4b5,0x56b3c423,0xcfba9599,0xb8bda50f,
0x2802b89e,0x5f058808,0xc60cd9b2,0xb10be924,0x2f6f7c87,0x58684c11,0xc1611dab,0xb6662d3d,
0x76dc4190,0x01db7106,0x98d220bc,0xefd5102a,0x71b18589,0x06b6b51f,0x9fbfe4a5,0xe8b8d433,
0x7807c9a2,0x0f00f934,0x9609a88e,0xe10e9818,0x7f6a0dbb,0x086d3d2d,0x91646c97,0xe6635c01,
0x6b6b51f4,0x1c6c6162,0x856530d8,0xf262004e,0x6c0695ed,0x1b01a57b,0x8208f4c1,0xf50fc457,
0x65b0d9c6,0x12b7e950,0x8bbeb8ea,0xfcb9887c,0x62dd1ddf,0x15da2d49,0x8cd37cf3,0xfbd44c65,
0x4db26158,0x3ab551ce,0xa3bc0074,0xd4bb30e2,0x4adfa541,0x3dd895d7,0xa4d1c46d,0xd3d6f4fb,
0x4369e96a,0x346ed9fc,0xad678846,0xda60b8d0,0x44042d73,0x33031de5,0xaa0a4c5f,0xdd0d7cc9,
0x5005713c,0x270241aa,0xbe0b1010,0xc90c2086,0x5768b525,0x206f85b3,0xb966d409,0xce61e49f,
0x5edef90e,0x29d9c998,0xb0d09822,0xc7d7a8b4,0x59b33d17,0x2eb40d81,0xb7bd5c3b,0xc0ba6cad,

838 :デフォルトの名無しさん:2013/01/09(水) 02:28:39.97
0xedb88320,0x9abfb3b6,0x03b6e20c,0x74b1d29a,0xead54739,0x9dd277af,0x04db2615,0x73dc1683,
0xe3630b12,0x94643b84,0x0d6d6a3e,0x7a6a5aa8,0xe40ecf0b,0x9309ff9d,0x0a00ae27,0x7d079eb1,
0xf00f9344,0x8708a3d2,0x1e01f268,0x6906c2fe,0xf762575d,0x806567cb,0x196c3671,0x6e6b06e7,
0xfed41b76,0x89d32be0,0x10da7a5a,0x67dd4acc,0xf9b9df6f,0x8ebeeff9,0x17b7be43,0x60b08ed5,
0xd6d6a3e8,0xa1d1937e,0x38d8c2c4,0x4fdff252,0xd1bb67f1,0xa6bc5767,0x3fb506dd,0x48b2364b,
0xd80d2bda,0xaf0a1b4c,0x36034af6,0x41047a60,0xdf60efc3,0xa867df55,0x316e8eef,0x4669be79,
0xcb61b38c,0xbc66831a,0x256fd2a0,0x5268e236,0xcc0c7795,0xbb0b4703,0x220216b9,0x5505262f,
0xc5ba3bbe,0xb2bd0b28,0x2bb45a92,0x5cb36a04,0xc2d7ffa7,0xb5d0cf31,0x2cd99e8b,0x5bdeae1d,
0x9b64c2b0,0xec63f226,0x756aa39c,0x026d930a,0x9c0906a9,0xeb0e363f,0x72076785,0x05005713,
0x95bf4a82,0xe2b87a14,0x7bb12bae,0x0cb61b38,0x92d28e9b,0xe5d5be0d,0x7cdcefb7,0x0bdbdf21,
0x86d3d2d4,0xf1d4e242,0x68ddb3f8,0x1fda836e,0x81be16cd,0xf6b9265b,0x6fb077e1,0x18b74777,
0x88085ae6,0xff0f6a70,0x66063bca,0x11010b5c,0x8f659eff,0xf862ae69,0x616bffd3,0x166ccf45,
0xa00ae278,0xd70dd2ee,0x4e048354,0x3903b3c2,0xa7672661,0xd06016f7,0x4969474d,0x3e6e77db,
0xaed16a4a,0xd9d65adc,0x40df0b66,0x37d83bf0,0xa9bcae53,0xdebb9ec5,0x47b2cf7f,0x30b5ffe9,
0xbdbdf21c,0xcabac28a,0x53b39330,0x24b4a3a6,0xbad03605,0xcdd70693,0x54de5729,0x23d967bf,
0xb3667a2e,0xc4614ab8,0x5d681b02,0x2a6f2b94,0xb40bbe37,0xc30c8ea1,0x5a05df1b,0x2d02ef8d,

839 :デフォルトの名無しさん:2013/01/09(水) 07:16:17.33
コードを読んで結果がどのようになるか当てる問題です。
過去のテストでこのようなコードがでたのですが
ttp://ideone.com/zTUtAt
まったくわかりません。解説お願いします。
まずどこから考えればいいのでしょうか・・・。

840 :桃白白:2013/01/09(水) 08:46:34.28
>>839
arrayは
  mainで[1, 2, 0]がセットされる。
  functionで変更される。
  mainで出力される。

functionでarrayの値がどう変わるのか考えればいい。

一回目のfunctionでは。
  jは-3。
  arrayの0番目には-3が加算される。
  arrayは[-2, 2, 0]
  jは3。

二回目のfunctionでは。
  arrayは[-2, 2, 0]

  arrayの2番目には3が加算される。
  arrayは[-2, 2, 3]
  jは-1。

  arrayの1番目には-1が加算される。
  arrayは[-2, 1, 3]
  jは2。

  arrayの0番目には2が加算される
  arrayは[0, 1, 3]
  jは-2。

841 :デフォルトの名無しさん:2013/01/09(水) 14:46:50.03
>>819
一応、makefileを自動で作成するツールはいくらでもあるけれど
君みたいな馬鹿が質問するレベルのことって、手書きのmakefileで十分な規模じゃないの?

842 :デフォルトの名無しさん:2013/01/09(水) 14:49:43.18
>>827
基本情報ぐらい取れば?

843 :デフォルトの名無しさん:2013/01/09(水) 20:31:02.16
>>835
このプログラムは何だか分からないけど、評価値って適応度(genotypeのfitness)のこと?
そうだとしたら、

// 遺伝子型の定義
struct genotype {
int gene[ml][N]; // 遺伝子
float fitness; // 適応度
};
 ↓
struct genotype {
int gene[ml][N]; // 遺伝子
float fitness[ml]; // 適応度
};
として、
evaluation();は
for(j=0; j<ml*N; j++) {
count += a[j];
}
 ↓
for(j=0; j<N; j++) {
count += a[j];
}
として、fitnessを設定するところでfitness[]それぞれについてevaluation();を呼び出す。
というのではいかが?

(fitnessを各5bitごとに持たせる。つまり、一個体につきfitnessを4つ持つことになるが良いのだろうか?)

844 :デフォルトの名無しさん:2013/01/09(水) 20:33:37.26
evaluation();の中でfitness[ml]を全部計算した方が良いかな

845 :デフォルトの名無しさん:2013/01/09(水) 21:17:03.56
 C初心者です。高橋麻奈の「やさしいC」なら簡単に分かるのですが、
「独習C」になると歯が立ちません。その間を埋めるような教科書が無いでしょうか?
ポインタ、構造体などの基礎は理解しているつもりです。
たとえばレス ハンコックの「C言語入門」あたりなのでしょうか。

 以上よろしくお願いします。

846 :デフォルトの名無しさん:2013/01/09(水) 21:28:34.27
神になるためのテンプレから外れるからそういう遠回りになるのだ

847 :デフォルトの名無しさん:2013/01/09(水) 21:31:44.39
独習Cに難しいところなんてあったっけ?

848 :デフォルトの名無しさん:2013/01/09(水) 22:29:46.63
例えば何が難しいのか言ってくれ

849 :デフォルトの名無しさん:2013/01/10(木) 06:33:17.63
日本語が難しいのだと予想

850 :デフォルトの名無しさん:2013/01/10(木) 06:49:57.39
独習Cは文体が学術っぽくて堅苦しいうえにあの厚さ。
一般人は5分で投げ出す。
翻訳者は高橋麻奈を見習えと言いたい。

851 :デフォルトの名無しさん:2013/01/10(木) 09:19:03.77
原書よめばいいだろ。

852 :デフォルトの名無しさん:2013/01/10(木) 09:25:29.86
居るよね
入門書ばっかり読む奴
全く素質無いから早く気づいてやめればいいのに

853 :デフォルトの名無しさん:2013/01/10(木) 13:30:11.20
本を買ってくれる分おまえよりは業界に貢献してるだろ

854 :854:2013/01/10(木) 17:03:56.82
ideone.com/Yzef0W

char strload_y[] = "12345678901"; /* 11 桁 */
float loaded_y_float = atof(strload_y) / 10000000;
int loaded_y_int = atoi(strload_y) / 10000000;

上記において、割り算の結果を int に入れた時に数値がおかしくなる理由を教えてください。
Mac OS X 10.8.2(GCC 4.2.1)LP64(I32LP64)モデルです。
よろしくお願いいたします。

855 :デフォルトの名無しさん:2013/01/10(木) 17:08:13.71
32ビットでのintの最大値が21億ほどだから。

856 :854:2013/01/10(木) 17:26:55.12
>>855
ありがとうございました。11 桁の段階で既に int が扱える桁を超えていたということなのですね。
漠然としか理解できていなかったので助かりました!

857 :デフォルトの名無しさん:2013/01/10(木) 18:24:38.75
ついでに言うと、floatも桁数が足りてない。

858 :854:2013/01/10(木) 18:49:45.54
>>857
ありがとうございます。あの後調べたところ
long 型に変換する atol という関数があること
double 型に変換する atof と、atof が double 型を扱うことまで分かりました。
実際に使用しているプログラムでは 4 桁の数値を取り出すものだったので
たまたま問題にはならなかったみたいです。重ね重ねありがとうございました。

859 :デフォルトの名無しさん:2013/01/10(木) 20:42:51.81
GCC の話かも知れないのですが、エラーメッセージで時々
Abort trap: 6
Segmentation fault: 11
など数字のついたメッセージを受け取ります。
他の数字のエラーメッセージを見てみたいのですが
これは何の規格で定義されているものですか?

860 :デフォルトの名無しさん:2013/01/10(木) 20:44:27.31
故意にセグらせる命令があったはず

861 :デフォルトの名無しさん:2013/01/10(木) 20:50:43.44
6 = SIGABORT
11 = SIGSEGV

Unix系なら<signal.h>付近に書いてある。

862 :デフォルトの名無しさん:2013/01/11(金) 00:00:12.10
なんで、find,grepの使い方から覚えないんだろう

863 :デフォルトの名無しさん:2013/01/11(金) 02:19:19.02
リッチーさんも亡くなったのにまだCに固執してるのかきめえ
Bに移行しろよ

864 :デフォルトの名無しさん:2013/01/12(土) 23:29:53.77
2ちゃんねるブラウザを作ろうかと思ってC言語を勉強しているわけなんですが

C言語で専ブラの画面を作るには、どのように作るのがベストなのでしょうか
C#で作られている専ブラのソース見てみたら、画面共通化されていない感じでした。

ちなみに、一番の問題はスレを表示する機能を実装する時に、
どのように高速動作 + 画像表示させるのかが問題になってくるかなと思っています。

865 :デフォルトの名無しさん:2013/01/12(土) 23:31:32.43
win32apiで作るかC言語で作るのを諦めるかじゃないかなあ

866 :デフォルトの名無しさん:2013/01/12(土) 23:36:07.81
CでGUIはキツい
それでなくともショートカットやらマウスジェスチャやら
面倒は山積みだ

一番問題なのは2chブラウザにあたって
C言語を選定するその考えだ

867 :デフォルトの名無しさん:2013/01/12(土) 23:37:09.66
スレ表示についてはIEコンポーネントを貼り付けるだけでもいける

868 :864:2013/01/12(土) 23:37:19.15
>>865
最初はwin32で作ろうかなと思ったのですが、面倒そうだったのでやめました
gtkを使ってプログラムしてこうかなって思ってます

過去に専ブラを作ろうと試みたこともあるのですが、スレを表示するのが難しくて困り果てました
表示するだけなら簡単だけど、画像を表示させたりすると難しいんですね

869 :864:2013/01/12(土) 23:48:06.98
>>866
.NETは会社で使っているので、スルーすることに決めました

>>867
それは過去に考えたことがあるんですが、独自描写でいきたいなと思ってます。
独自描写すればプログラム的に楽しそうだからです

870 :デフォルトの名無しさん:2013/01/12(土) 23:50:54.93
DirectXでレスを3D表示すると楽しいよ

871 :デフォルトの名無しさん:2013/01/13(日) 00:16:25.06
wxWidgetsでアプリ作るのはどうかな

872 :デフォルトの名無しさん:2013/01/13(日) 00:32:50.72
>>868
win32api が面倒とか言ってる奴が、C でやると言うのも理解できないけど、
そもそもなんで C++ でないのか?

まあ、それはそれでスレ違いになるけど。

873 :デフォルトの名無しさん:2013/01/13(日) 00:42:10.18
HTMLでtable使ってドット絵吐き出せばいいじゃん

874 :デフォルトの名無しさん:2013/01/13(日) 01:12:12.85
>>869
やめとけよ。
Cの標準ライブラリを見てみたか?
ブラウザを作れそうな機能なんて一つもないだろ?
そういう言語なんだよCは。

875 :デフォルトの名無しさん:2013/01/13(日) 02:09:08.05
10 SCREEN 0:CONSOLE,,0,1:WIDTH 80,25:DEFINT A-Z:CLS 3
20 ARGC=2:ARGV$(1)=">>874ボケが"
30 GOSUB *MAIN
40 END
100 *MAIN
110 PRINT ARGV$(1)
120 RETURN

876 :デフォルトの名無しさん:2013/01/13(日) 11:59:25.23
>>868
画像表示とか要らんので、lynxやmnewsみたいのを作って下せ。

877 :デフォルトの名無しさん:2013/01/13(日) 12:05:20.43
既存のGUI部品に全く頼らず、
ゲームの画面みたいに全部独自のUIでやるのは面白いかもしれないな
そういうのないから大ヒットするかもしれんぞ

878 :デフォルトの名無しさん:2013/01/13(日) 12:14:06.04
UIカスタマイズとか面白いね

879 :デフォルトの名無しさん:2013/01/13(日) 14:28:04.56
>>877
freeglutとかで出来そう

880 :デフォルトの名無しさん:2013/01/13(日) 14:52:14.03
1から200までの整数のうち、7の倍数を一行に13個ずつ表示するプログラムが課題で出されたのですが
7の倍数を抽出する部分は出来たのですが、一行に13個ずつ表示するという部分ができません。
授業では、if文とfor文しか扱っていないのでその範囲内で解決できるみたいです。
ご教授いただけると嬉しいです。よろしくお願いします。

881 :デフォルトの名無しさん:2013/01/13(日) 14:57:50.46
>>880
キューに貯めて
七個あったら一気に書き込み

882 :デフォルトの名無しさん:2013/01/13(日) 15:06:05.08
>>880
>一行に13個ずつ表示するという部分ができません。

13個出力したら、"\n" を出力するだけだろ。

883 :デフォルトの名無しさん:2013/01/13(日) 15:10:22.12
#include <stdio.h>

int main(void){
int count = 0;
for(int i = 1; i <= 200; i++){
if(i % 7 == 0){
printf("%d ",i);

count++;
if(count % 13 == 0){
printf("\n");
}
}
}

return 0;
}

884 :デフォルトの名無しさん:2013/01/13(日) 15:14:00.23
でたーmainの引数にvoid入れちゃう奴www

885 :デフォルトの名無しさん:2013/01/13(日) 15:22:00.00
お前ならどうすんの?

886 :デフォルトの名無しさん:2013/01/13(日) 17:14:41.97
俺ならchar * envまで書いちゃうね

887 :デフォルトの名無しさん:2013/01/13(日) 17:20:35.14
darwinだと4つも渡してくれるらしいぞ。
int main(int argc, char **argv, char **envp, char **apple);

888 :デフォルトの名無しさん:2013/01/13(日) 17:21:08.26
その最後のやつはなに?

889 :デフォルトの名無しさん:2013/01/13(日) 17:35:12.75
実行ファイルのパスが入ってたりするらしいけど。
ていうかやってみたら実際に入ってた。
おおっぴらに使っていいもんではないのかも。

890 :デフォルトの名無しさん:2013/01/13(日) 17:45:10.55
じゃargv[0]には何が入っているの?

891 :デフォルトの名無しさん:2013/01/13(日) 18:03:22.58
同じの入っとる。
そっちは書き換えるアプリがあるせいかね。

と思ったけどまったく同じでもないっぽい。
http://unixjunkie.blogspot.jp/2006/02/char-apple-argument-vector.html

892 :デフォルトの名無しさん:2013/01/13(日) 20:37:28.45
Winmainなんかはargv書き換えると落ちるし

893 :デフォルトの名無しさん:2013/01/13(日) 21:08:38.17
void main()対策

#define void int

894 :デフォルトの名無しさん:2013/01/13(日) 21:17:19.16
>>893
入門者が本気にするだろw

895 :デフォルトの名無しさん:2013/01/13(日) 22:54:58.07
>>893
予約語って書き換えできるっけ?

896 :デフォルトの名無しさん:2013/01/13(日) 23:02:39.51
>>895
できたよ
http://ideone.com/YJVWwH

897 :デフォルトの名無しさん:2013/01/13(日) 23:22:30.52
>>896
で、写像の意味を理解してないから、減点くらう訳ですね。

898 :デフォルトの名無しさん:2013/01/13(日) 23:27:44.74
プリプロセッサはC言語の事なんかなんにも知らないっしょ

899 :デフォルトの名無しさん:2013/01/13(日) 23:34:08.68
プリプロセッサは何にも知らないけれど
プリプロセッサの気持ちはよく分かる
プリプロセッサ可愛いや
可愛いやプリプロセッサ

900 :デフォルトの名無しさん:2013/01/13(日) 23:53:43.12
赤いプリプロセッサに唇よせて
黙って見ている蒼井そら

901 :デフォルトの名無しさん:2013/01/14(月) 02:10:18.27
>>877
UIって今後はjsで標準化されてくよ
QMLやgnome-shell、silverlight、javafx辺りが良い例。

902 :デフォルトの名無しさん:2013/01/14(月) 02:38:06.68
argv[0]は実行ファイルのフルパスじゃなかったっけ。

903 :デフォルトの名無しさん:2013/01/14(月) 02:41:03.09
>>902
コマンドインタプリタ次第。
相対パスの場合もあれば、aliasの場合もある。

904 :デフォルトの名無しさん:2013/01/14(月) 02:43:09.83
起動時に与えられた通りの内容が入ってる。

905 :デフォルトの名無しさん:2013/01/14(月) 02:46:31.85
>>902
ttp://ideone.com/soEDca
では、
argv[0]=./prog
と出た

906 :デフォルトの名無しさん:2013/01/14(月) 04:28:45.10
<time.h>

void a(int year, int month, int day){
struct tm b;
time_t c;

b.tm_year = year -1900;
b.tm_mon = month - 1;
b.tm_mday = day;
b.tm_hour = 0;
b.tm_min = 0;
b.tm_sec = 0;

c=mktime(&b);
/*

*/
}


関数を作っていてこれのmktimeの部分でエラーが出てコンパイルできないのですがなにが原因でしょうか

907 :デフォルトの名無しさん:2013/01/14(月) 04:38:09.77
>>906
どんな[エラー]?

こちらでは、
「関数 a(); で c に値がセットされたが使われていない」
というような[警告]は出るけどコンパイルは通るよ。

908 :デフォルトの名無しさん:2013/01/14(月) 04:56:43.16
>>902
Windowsではフルパスだよね

909 :デフォルトの名無しさん:2013/01/14(月) 09:14:03.76
Windowsでもそのアプリを起動するアプリ次第だけどな。

910 :859:2013/01/14(月) 16:52:31.42
>>859 です。遅くなりましたがありがとうございました。

>>861
ISO の規格に載っていたとは、検索の仕方がわるかったです。
>>862
iPhone アプリ制作の基礎として C 言語を学んでいるので
UNIX の知識はあまりありません。時間を見て調べてみます。

911 :デフォルトの名無しさん:2013/01/14(月) 18:30:22.14
>>909
マジかよ・・・

912 :デフォルトの名無しさん:2013/01/14(月) 19:01:10.81
マジなの?

913 :デフォルトの名無しさん:2013/01/14(月) 19:06:48.98
相対パスで起動すれば相対パスで入ってるだろ

914 :デフォルトの名無しさん:2013/01/14(月) 19:11:55.92
WindowsならGetFullPathName()つかってフルパス名に変換してた。

915 :デフォルトの名無しさん:2013/01/14(月) 20:23:31.00
プログラミングを始めようと思っています
ゲームのチートツールなどを作りたいと思っているのですが
これに特化した言語はありますか?全ての言語で出来ると良いんですが・・・

916 :デフォルトの名無しさん:2013/01/14(月) 20:36:57.47
Cかアセンブリ

917 :デフォルトの名無しさん:2013/01/14(月) 20:40:14.02
>>916
かっこいいwwwありがとうございます!

918 :デフォルトの名無しさん:2013/01/14(月) 20:41:31.10
こいつには無理だな

919 :デフォルトの名無しさん:2013/01/14(月) 20:58:04.62
資格ってとった方がよいですか?


いいなら、1級までとる。

http://www.shikakude.com/minsikakupaje/cgengo.html

920 :デフォルトの名無しさん:2013/01/14(月) 21:00:04.13
そんなもの糞のやくにもたたんひたすら書け
なんかしらんが宿題スレがいま盛況だからちょうどいい

921 :デフォルトの名無しさん:2013/01/14(月) 21:13:43.60
そんな事より働く気なら基本情報位持ってないとバカだと思われるぞ

922 :デフォルトの名無しさん:2013/01/14(月) 21:16:33.63
えーレバーあんま好きじゃないわ
レバーの魅力を語って

923 :デフォルトの名無しさん:2013/01/14(月) 21:25:11.52
昔の一種くらいはほしいね今は何?今でもCやcaslやってるのか?いずれにせよ妬くには立たん

924 :デフォルトの名無しさん:2013/01/14(月) 21:26:28.32
>>918
お前って馬鹿だな

925 :デフォルトの名無しさん:2013/01/14(月) 21:40:49.51
>>919
会社でその資格に対して手当てとか出るなら、とったほうが良い。
そうでないなら、とる意味なし。

926 :デフォルトの名無しさん:2013/01/15(火) 09:45:46.35
うわぁ

927 :デフォルトの名無しさん:2013/01/15(火) 15:54:05.34
同じような能力の2人が居てどちらか一人にしか仕事を与えられない場合、
違うのが資格の有無だけなら資格ありの方を選ぶだろ普通は。
資格があるということは、それだけの水準であることと、その水準になろう
という「やる気」がある証明になる。
資格が無いことは、水準もやる気も無いことの証明にはならないが、
「ある」かどうか分からない。
それなら、「ある」ことが分かっている、有資格者を選ぶだろ。
資格は役に立つ。やる気アピールの一つの表現方法でもある。
それを否定するのは人を選んだこと無い証拠。

と、当たり前のことだが書かずにはいられないな。

928 :デフォルトの名無しさん:2013/01/15(火) 16:14:32.17
「〜の型が1の仮引数および実引数と異なります。」という警告が表示されるのですが、
このまま実行するとどういった不具合が起こるのでしょうか??

929 :デフォルトの名無しさん:2013/01/15(火) 16:19:28.90
リットルをガロンと計算し
787が墜落する

930 :デフォルトの名無しさん:2013/01/15(火) 16:26:11.27
資格の有無でしか部下の能力を測れない無能な上司のいる職場は嫌だなあw

931 :デフォルトの名無しさん:2013/01/15(火) 16:50:36.06
C言語で循環少数をポインタを使って表示する方法を教えて下さい。
表示方法として循環部分を()でくくる方法にしたいです。

例えば5÷7なら0.(714285)の様に表示させたいです。

932 :デフォルトの名無しさん:2013/01/15(火) 16:51:23.63
>>931
そういうライブラリがあったはず

933 :デフォルトの名無しさん:2013/01/15(火) 17:08:15.17
>>932
ポインタを使ったものが見つからないのですが、詳しく教えていただけませんか?

934 :デフォルトの名無しさん:2013/01/15(火) 17:41:47.07
20bitの2進数の並びから、5bitごとに見ていき、目的の5bitの2進数の並びを
探索していく、というプログラムを組みたいのですがどのように組んだらよいのでしょうか??

例えば、「10010010101110100101」という並びから最初の5bitを見て、「10010」
であればある変数に点数を加え、次の5bitを見ていき同様のことを繰り返していきます。

説明が下手ですみません。よろしくお願いします。

935 :デフォルトの名無しさん:2013/01/15(火) 17:46:26.92
シフトしてマスクとANDで抽出して比較

936 :デフォルトの名無しさん:2013/01/15(火) 18:37:05.41
資格なんか意味ねえ、その資格がないと仕事ができないならともかくITの糞資格なんか
官僚の天下り先を作る為に生み出された資格でしかないのに馬鹿じゃないの
そもそも客も資格持ってないから高度資格持ってたら逆に生意気だと思われたり
無茶な仕事振られたりするリスクが増えるだけ
本当に優秀な奴は実務経験で語る

937 :デフォルトの名無しさん:2013/01/15(火) 18:39:59.31
同じような能力の2人が居てというが
地頭も過去の経歴も年齢も全く同じ奴なんかいるわけないだろ
資格見る前に別の要素で勝負は決まるわ

938 :デフォルトの名無しさん:2013/01/15(火) 18:43:23.24
頭悪いな

939 :デフォルトの名無しさん:2013/01/15(火) 18:46:21.41
そもそも能力がないから資格に走ろうとしているのがみえみえなんだよ
大体天下りの時代遅れのおっさんが問題作ってるんだから業務の役に立つわけが無い
なんなんだあの午後の問題はただの現代文の読解問題じゃないかあんなのでITスキルを図れると思っている方がおかしい
資格なんか取るくらいなら家でプログラミングしてapple storeにアプリ登録するとか
趣味でツールでも作ってsource forge辺りに登録でもしてる方が何倍もマシ
こういった活動は面接でもアピールになるしな

940 :デフォルトの名無しさん:2013/01/15(火) 18:49:59.66
君がそう思っているのならそれでいいじゃないか

941 :デフォルトの名無しさん:2013/01/15(火) 18:50:42.22
分かったら秀丸をアンインストールして
vimをダウンロードしろ
ソフトウェア開発の素養のないドキュメント製作しか能のない
馬鹿たれどもが分かったか

942 :デフォルトの名無しさん:2013/01/15(火) 18:52:36.26
会社的には○○保持者何人みたいな感じで営業のネタになったりするよね。
受注した仕事ほとんど外注にやらせて社員は資格の勉強してる会社見た事あるわw

943 :デフォルトの名無しさん:2013/01/15(火) 18:55:04.61
資格も能力も無いゴミが顔真っ赤にして何か言ってら

944 :デフォルトの名無しさん:2013/01/15(火) 18:59:25.84
それで仕事とれるんなら有用じゃないのって言ってるんだけど。

945 :デフォルトの名無しさん:2013/01/15(火) 19:03:56.58
一種とネスペとデスペなら取った。
正直地頭悪いと取れない資格だと思う。

946 :デフォルトの名無しさん:2013/01/15(火) 19:04:21.14
お前は何の為に仕事をしているんだ
何のために情報技術の世界に足を踏み入れたんだ
ソフトウェアを作りたいという純粋な気持ちからではなかったか
仕事がとれればどうでもいい
金さえ儲かればどうでもいい
面倒なことは下請けに押し付ければいい
こんな考えは人として間違っているのではないか
自分では何も生み出さず他人の成果を奪うだけの行為は間違っているのではないだろうか

947 :デフォルトの名無しさん:2013/01/15(火) 19:13:18.13
金が欲しくて、働いて、眠るだけ

948 :デフォルトの名無しさん:2013/01/15(火) 19:57:07.40
>>927
>同じような能力の2人が居て
資格の有無に着目するより本当に「同じような能力」なのかを見るべきでは?

949 :デフォルトの名無しさん:2013/01/15(火) 19:58:00.08
>>931
輪になって踊る数
1/7 = 142857/999999 = 0.142857143857142857...

950 :デフォルトの名無しさん:2013/01/15(火) 20:12:59.39
資格(学歴も含む)よりも能力が−−というのは間違いではないが、
その能力を見極めるチャンスを与えてもらえる取っ掛かりになりえるんだよ。
資格がなければ門前払いもある。
いままでの実績も一つの指標であるが、その実績を作るために資格も学歴も無い
どこぞの馬の骨を雇ってくれた最初の人に感謝しろよ。
今の時代、そんな馬の骨が通用するかよ。まったく…

とにかく書きまくれってヤツ。
自己流の勘違い野郎を増長させるな。

951 :デフォルトの名無しさん:2013/01/15(火) 20:27:08.12
ま、資格にもよるわな。旧一種(今はなんだっけ?)は最低ラインだそれは認める >>919 のは疑問いったいどんな問題なんだ?
あとは読みまくれ書きまくれ

>自己流の勘違い野郎
それは書く量の絶対的不足を示唆しているに過ぎない。

952 :デフォルトの名無しさん:2013/01/15(火) 20:37:44.43
高卒・資格無しの自己流君。
設計よりもいきなりコーディング。
設計の抜けを盛り込むためあちこちの関連を修正。
修正漏れで謎のバグ。

ちょっとした仕様変更で詰んで、
「健康理由により退職します…」
残された大卒・資格持ちが尻拭い。

953 :デフォルトの名無しさん:2013/01/15(火) 20:47:17.62
>>952
設計は普通大卒資格餅がするんだろう?なんで高卒に振るの?

954 :デフォルトの名無しさん:2013/01/15(火) 20:47:59.72
資格とか自分の腕に自信が無い証拠

955 :デフォルトの名無しさん:2013/01/15(火) 20:52:16.28
変数に + - * / などの演算子を文字として格納する方法を教えていただけますか?


char x;
x = +;


ではダメだったので・・・

956 :デフォルトの名無しさん:2013/01/15(火) 20:53:14.08
"+"

957 :デフォルトの名無しさん:2013/01/15(火) 20:56:41.83
おいおいおいおい

958 :デフォルトの名無しさん:2013/01/15(火) 20:57:31.56
>>956
??????

>>955
char hoge;
hoge = '+';

959 :デフォルトの名無しさん:2013/01/15(火) 20:57:36.44
>>956
文字なら'+'

960 :955:2013/01/15(火) 20:59:53.54
さっそくありがとうございます!
解決できました!

961 :デフォルトの名無しさん:2013/01/15(火) 21:04:06.61
入門書嫁でいいだろ流石にこんなもん

962 :デフォルトの名無しさん:2013/01/15(火) 21:47:47.51
プログラマが経験を積んで設計者になるという考えがそもそもおかしい
土建業者か何かと勘違いしているから昭和生まれのロートル脳は困る
Linuxを開発したリーナス・トーバルズは設計書だけ書いて実装は下請け丸投げなんかしてるかよ
実装もやるし経験を積んだら実装+設計をやるのが正しい進化だ
それを何を勘違いしたか経験を積んだら下請け丸投げでふんぞり返ってるだけでピンはね丸儲けだと思ってる
全然違いますから!

963 :デフォルトの名無しさん:2013/01/15(火) 21:50:25.44
つーかこれ+に限ったことじゃないじゃん?
C言語初めて10分で得られる知識だろ。

964 :デフォルトの名無しさん:2013/01/15(火) 22:10:10.41
おまいら、プログラミング以外の話になると生き生きしてるなw
寂しかったんだねっ!

965 :デフォルトの名無しさん:2013/01/15(火) 22:20:11.27
リーナスのおっさんとお前らは同じ業種じゃないから。

966 :デフォルトの名無しさん:2013/01/15(火) 22:30:00.03
プログラマは人ではない
プログラムをビルドする(不安定な)ツールである

967 :デフォルトの名無しさん:2013/01/15(火) 22:53:58.14
>>962
じゃあお前も真似すればええやん

968 :デフォルトの名無しさん:2013/01/15(火) 23:02:38.70
>>966
日本語でおk

969 :デフォルトの名無しさん:2013/01/15(火) 23:20:26.60
お前らがアホ面して秀丸とパワポだけ使って設計も実装も下請け丸投げしかできないくせに
無駄に人件費を消耗して開発力を落としてるから家電メーカーは馬鹿にしていた韓国に負けるし
最後の砦であるところの自動車メーカーもソフトウェアの比重が高まるにつれて日本メーカーの
優位性が損なわれていっている。現に自動車の完全自動操縦機能なんか何十年も自動車開発
してきたトヨタがぽっと出のgoogleに先を越されてしまっている昭和生まれのハードウェア脳の
年寄りが支配するメーカーが革新的な製品を生み出せるはずがないこの国は年寄りが若者を
搾取するだけの未来の無い終わった国だエコカー減税だエコポイントだ税金を投入しないと利益
を出せない昭和な企業は倒産するべきだし税金は若者主導のベンチャー企業に使うべきだ
メーカー製PCのバンドルソフトなんか見ても分かるだろなんだあのセンスのないソフトウェアは
あんなのの開発費に税金が投入されているんだぞ年寄りの安定雇用のために存在する国なのかここは

970 :デフォルトの名無しさん:2013/01/15(火) 23:40:29.58
たのしいCのはなしをしてくれ

971 :デフォルトの名無しさん:2013/01/15(火) 23:42:51.48
Cならハードウェアにちかいこともできる。ハードウェアからはなれるべきではないというかんがえもある

972 :デフォルトの名無しさん:2013/01/15(火) 23:44:36.27
>>969
禿同

973 :デフォルトの名無しさん:2013/01/16(水) 00:17:17.74
ここってホントに入門編なの?と思う時がある

974 :デフォルトの名無しさん:2013/01/16(水) 00:22:52.23
>>973
入門の内容にしか答えられない人がハバを利かせてるスレの意

975 :デフォルトの名無しさん:2013/01/16(水) 00:48:55.39
じゃあ僕は構造体の勉強をしようっと

976 :デフォルトの名無しさん:2013/01/16(水) 00:53:45.82
女子大生のわたしはsetjmp, longjmpの練習

977 :デフォルトの名無しさん:2013/01/16(水) 00:58:45.67
jmpて使った事無いんだがどんなとこで使うの?

978 :デフォルトの名無しさん:2013/01/16(水) 01:05:34.28
try〜catchぽい使い方が多いんじゃないかしら。

979 :デフォルトの名無しさん:2013/01/16(水) 01:55:59.17
ポインタの質問です

int *pA , a=5;

pA = &a;
の場合はpAにaのアドレスが格納されますが
pA = a;
とした場合はaのアドレスが格納されず、aに格納されている5が代入されるだけですか?

980 :デフォルトの名無しさん:2013/01/16(水) 01:56:49.31
goto禁止規約のときjmpで

981 :デフォルトの名無しさん:2013/01/16(水) 01:56:58.86
コンパイラに怒られる

982 :デフォルトの名無しさん:2013/01/16(水) 01:57:20.94
>>979
printfしてみ

983 :979:2013/01/16(水) 01:57:36.23
その前にエラー吐きましたすいませんでした

984 :デフォルトの名無しさん:2013/01/16(水) 02:18:26.32
pAには変数aのアドレスが格納されてて
*pAには変数aが格納されてるってことでいいの?

985 :デフォルトの名無しさん:2013/01/16(水) 02:23:27.78
格納じゃなくて、参照できるでは

986 :デフォルトの名無しさん:2013/01/16(水) 03:23:01.55
戻り値の型がvoidの関数って、returnを書かなくてもコンパイル出来ますよね。

void func(int n)
{
printf("%d\n",n);
// return がない
}

return を書かないと、どうも気持ちが悪いのですが、たまに書き忘れてしまいます。
上記のコードをコンパイルエラーか、警告がでるようにしたいのですが、何か良い方法はないでしょうか?

987 :デフォルトの名無しさん:2013/01/16(水) 03:38:14.63
voidの意味知ってる?

988 :デフォルトの名無しさん:2013/01/16(水) 03:50:11.38
>>986
C言語の規格として、関数本体の終わりまでreturn文に出会わなかった場合、
そこに式のないreturn文があると見なされることになっている
特にバグの原因になるとも思えないし、書かなくて気持ち悪いというより、
省略できて便利だなあぐらいに思っておけば?

989 :デフォルトの名無しさん:2013/01/16(水) 04:03:16.69
>>984
ttp://ideone.com/qhRlqh

990 :デフォルトの名無しさん:2013/01/16(水) 04:42:02.06
次スレ
C言語なら俺に聞け(入門編)Part 112
http://toro.2ch.net/test/read.cgi/tech/1358278884/

991 :デフォルトの名無しさん:2013/01/16(水) 06:44:34.75
http://codepad.org/y7zo8e4c
格納されている文字列配列に、入力された数値に対応する文字列配列を出力するプログラムなのですが
文字列配列の数が増えると比例してmoji関数内の繰り返し文も増えてしまうのでコンパクトに出来ないでしょうか?

992 :デフォルトの名無しさん:2013/01/16(水) 07:02:54.36
>>977
「継続」の実装。
ttp://www.shido.info/lisp/scheme_cc.html

993 :デフォルトの名無しさん:2013/01/16(水) 07:23:16.31
>>986
returnがないのに慣れろ
妙な癖付けられると、そのソースいじる他の人にとっちゃたまったもんじゃない

994 :デフォルトの名無しさん:2013/01/16(水) 07:24:40.82
>>991
ttp://codepad.org/t74mO8zh

995 :デフォルトの名無しさん:2013/01/16(水) 08:46:22.72
voidをやめて、intまたはboolにすれば…


if(! function() ) {
/* エラーならここにきます */
}

996 :デフォルトの名無しさん:2013/01/16(水) 09:25:36.49
バッドノウハウだな

997 :デフォルトの名無しさん:2013/01/16(水) 12:27:36.92
>>927
実際は金額の安い方です

998 :デフォルトの名無しさん:2013/01/16(水) 12:36:24.18
returnを書いたらダメって訳ではないですよね?
returnを書き忘れないように気をつけるか
いっそのこと、returnを書かないようにするしかないのか・・・

999 :デフォルトの名無しさん:2013/01/16(水) 12:36:41.48
コンピュータが馬鹿だという事がわかってない人に資格どうのこうのは関係ない
馬鹿の目線で考えないと

1000 :デフォルトの名無しさん:2013/01/16(水) 12:47:26.58
return false;

1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

213 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)