C言語って… (278レス)
C言語って… http://mevius.5ch.net/test/read.cgi/gamedev/1028273462/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
86: 85 [sage] 02/08/04 18:06 ID:??? あー、ごめん、ちょっと補足。 85のコードはx,yに値が代入された後、場合わけを含めて計算する。 0を入力されても止める必要は無いし、1の場合の場合わけも不要。 考慮していないのは乗数<0の場合。 0で計算される。 http://mevius.5ch.net/test/read.cgi/gamedev/1028273462/86
87: 名前は開発中のものです。 [sage] 02/08/04 18:50 ID:??? x, y の値を計算の途中で変えちゃってイイならば while(--y) x*=x; とか。x が答えになる。 ただしこれは y<1 のときにかなり最悪なことになる。 ところで >>84 は一応ループつかってるんじゃないのか? > 85 http://mevius.5ch.net/test/read.cgi/gamedev/1028273462/87
88: 85 [sage] 02/08/04 19:03 ID:??? >>87 えへっ、(省略されました・・全てを読むにはここを押してください)を読まなかったの v 私めんどうくさがりだもん。 …ごめんね。 http://mevius.5ch.net/test/read.cgi/gamedev/1028273462/88
89: 名前は開発中のものです。 [sage] 02/08/04 19:06 ID:??? >x*=x ここは困った事になると思う。 http://mevius.5ch.net/test/read.cgi/gamedev/1028273462/89
90: 85 [sage] 02/08/04 19:22 ID:??? そだね。 87さんのだと最終的な結果がx^(2^y)になるかな? swapと一緒でtmpが一個いるよ。 tmp無しで書こうと思ったら、church数みたいに int func(int xx,int yy){return (n==0)?1:xx*func(yy-1);} とかあらかじめ関数を作っておいて、 printf("%d ^ %d = %d\n",x,y,func(y)); でOK。 しかし再帰でバグ出すと最悪数時間が消えるので、 他にいい方法があったり、あるいは急ぐときにはあんまりお勧めしないです。 http://mevius.5ch.net/test/read.cgi/gamedev/1028273462/90
91: 85 [sage] 02/08/04 19:23 ID:??? ああっ、やってしまった…。 訂正です。 int func(int xx,int yy){return (yy==0)?1:(xx*func(xx,yy-1));} これならうまくいくはず…。たぶん…。 http://mevius.5ch.net/test/read.cgi/gamedev/1028273462/91
92: 85 [sage] 02/08/04 19:34 ID:??? やっぱりダメだぁ…。 訂正が面倒だから今回はちゃんとコンパイラ通した。 //再帰を使った階乗計算 #include<stdlib.h> #include<stdio.h> int func(int xx,int yy){return (yy==0)?1:(xx*func(xx,yy-1));} void main(void){ int x,y; printf("x?");scanf("%d", &x);//xを入力 printf("y?");scanf("%d", &y);//yを入力 printf("%d ^ %d = %d\n",x,y,func(x,y));//計算&結果表示 } http://mevius.5ch.net/test/read.cgi/gamedev/1028273462/92
93: 名前は開発中のものです。 [sage] 02/08/04 20:04 ID:??? >84 pow()でいいじゃん。 http://mevius.5ch.net/test/read.cgi/gamedev/1028273462/93
94: g [0] 02/08/04 21:18 ID:??? http://www.kokorode.com/001977/ http://mevius.5ch.net/test/read.cgi/gamedev/1028273462/94
95: 名前は開発中のものです。 [sage] 02/08/04 21:27 ID:??? >93 ツェペリさんを思い出すのでいやです。 http://mevius.5ch.net/test/read.cgi/gamedev/1028273462/95
96: 84 [sage] 02/08/04 22:34 ID:??? >>85 さんご意見ありがとう! http://mevius.5ch.net/test/read.cgi/gamedev/1028273462/96
97: 名前は開発中のものです。 [] 02/08/04 23:14 ID:l10.DAfI ところでx*=xって未定義だったっけ? x*=xはx=(x*x)と等価だったと思ったけど http://mevius.5ch.net/test/read.cgi/gamedev/1028273462/97
98: 名前は開発中のものです。 [sage] 02/08/04 23:21 ID:??? 0 http://mevius.5ch.net/test/read.cgi/gamedev/1028273462/98
99: 名前は開発中のものです。 [sage] 02/08/04 23:25 ID:??? >>97 そんなことないよ。 xの内容をレジスタに入れてから演算、 その結果をxとして格納する、の順番に処理される(と思う)ので 何ら問題なくxにはx^2が格納されます。 http://mevius.5ch.net/test/read.cgi/gamedev/1028273462/99
100: 名前は開発中のものです。 [] 02/08/04 23:30 ID:l10.DAfI >>99 「x*=xって未定義」に対してそんなこと無いよ といっておられるのですか? それとも「x*=xはx=(x*x)と等価」に対してですか? 話の内容から前者だと思いますが、ただ >xの内容をレジスタに入れてから演算、 >その結果をxとして格納する、の順番に処理される(と思う)ので a++=a; とかがあるから、そういう言い方は出来ないと思うんだけど http://mevius.5ch.net/test/read.cgi/gamedev/1028273462/100
101: 名前は開発中のものです。 [sage] 02/08/04 23:32 ID:??? 未定義になるのは副作用完了点と副作用完了点の間で、変数の値が 2回以上変更されているようなケースです。x*=x; は式の先頭から、 副作用完了点である;の位置までに x の値は1度しか変更されて いませんので未定義には当たりません。 http://mevius.5ch.net/test/read.cgi/gamedev/1028273462/101
102: 名前は開発中のものです。 [sage] 02/08/04 23:36 ID:??? > a++=a; > とかがあるから、 ありません。 確認しましたがVCではエラー吐きますね。 http://mevius.5ch.net/test/read.cgi/gamedev/1028273462/102
103: 名前は開発中のものです。 [] 02/08/04 23:44 ID:l10.DAfI >>102 書き込みミスです http://mevius.5ch.net/test/read.cgi/gamedev/1028273462/103
104: 名前は開発中のものです。 [] 02/08/04 23:45 ID:l10.DAfI >>101 やっぱりそうですか、 一応、あってたか・・・ どうもすみません http://mevius.5ch.net/test/read.cgi/gamedev/1028273462/104
105: 名前は開発中のものです。 [sage] 02/08/04 23:46 ID:??? なんだかすごいことになってきたね。(笑) http://mevius.5ch.net/test/read.cgi/gamedev/1028273462/105
106: 名前は開発中のものです。 [sage] 02/08/05 00:10 ID:??? 知識のなさをひけらかす場になってきたな(笑) http://mevius.5ch.net/test/read.cgi/gamedev/1028273462/106
107: 名前は開発中のものです。 [sage] 02/08/05 01:35 ID:??? C++も無名関数とクロージャがあればなぁ。 http://mevius.5ch.net/test/read.cgi/gamedev/1028273462/107
108: 名前は開発中のものです。 [sage] 02/08/05 02:00 ID:??? ∧ ∧ ∧ ∧ ∧ ∧ ∧ ∧ ∧ ∧ /(,,゚Д゚) (, ゚Д゚) (, ゚Д゚) (*゚Д゚) ̄⌒ヽー (, ゚Д゚)⊃┳━∪∪━∪∪━∪∪━∪∪━⊂∪━┳ ∧∧ ヽ/ | . ┃ 1ウザイ氏ね! ┃(゚Д゚;)_、 (__∪ ). ┻━━━━━━━━━━━━━━━━┻ `uuuu ゙゙゙゙゙゙゙゙゙゙゙ ゙゙゙゙゙゙゙゙゙ http://mevius.5ch.net/test/read.cgi/gamedev/1028273462/108
109: 名前は開発中のものです。 [] 02/08/06 17:58 ID:RPPDYFAM z http://mevius.5ch.net/test/read.cgi/gamedev/1028273462/109
110: 名前は開発中のものです。 [sage] 02/08/15 16:07 ID:??? 行番号をいちいち書かずに例えば、 「現在1203行目を実行しました。 「現在1452行目を実行しました。 みたいに表示させいってて実行時の処理経路を明確にして行きたい んだくぅえども、いちいち行番号を書くのが面倒くさい。 なんかちゃちな置換アプーリ作っておくしかない? ちなみに環境はbcc+Terapad・・・ http://mevius.5ch.net/test/read.cgi/gamedev/1028273462/110
111: 名前は開発中のものです。 [sage] 02/08/15 17:23 ID:??? 組み込みマクロ __LINE__ と __FILE__ を使う? 全部の行でなくブロック単位にトレース情報を埋め込むツールがあったような気がする・・・ http://mevius.5ch.net/test/read.cgi/gamedev/1028273462/111
112: 名前は開発中のものです。 [sage] 02/08/15 18:36 ID:??? >111 おぉ、それかも。 さんくす http://mevius.5ch.net/test/read.cgi/gamedev/1028273462/112
113: 名前は開発中のものです。 [sage] 02/08/17 00:42 ID:??? C99で新しく採用された__FUNCTION_だったっけ? 関数名埋め込み機能が激しくホスィ。ログ取り楽だろうなぁ… http://mevius.5ch.net/test/read.cgi/gamedev/1028273462/113
114: 名前は開発中のものです。 [sage] 02/08/17 16:49 ID:??? >113 BCCの__FUNC__と同じ? やばひ、全然使ってないよ・・・勿体無い。 __DATE__、__TIME__こんなのもあった。鬱 http://mevius.5ch.net/test/read.cgi/gamedev/1028273462/114
115: 名前は開発中のものです。 [sage] 02/08/19 00:04 ID:??? >114 __DATE__や__TIME__は(当然)コンパイル時点の時刻だから あまり役には立たないよ。せいぜいobjにコメント埋め込むくらいか。 http://mevius.5ch.net/test/read.cgi/gamedev/1028273462/115
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 163 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.013s