defineを使ったfor文を試してみたのですが、
以下のコードを実行すると数字が延々と表示されて上手くいきません。
間違っているところを教えていただきたいです。
OSはmac10.6でxcodeを使っています。
defineについて
- bitter_fox
- 記事: 607
- 登録日時: 14年前
- 住所: 大阪府
Re: defineについて
「数字が延々と表示されてうまくいきません」とありますが、上手くいくの基準が分かりませんので、どういった出力を得られれば上手くいったのかを教えていただけますか?clr さんが書きました: 以下のコードを実行すると数字が延々と表示されて上手くいきません。
詳しくはフォーラムルールをお読みください。
Re: defineについて
ためしにコンパイルしてみましたが…
うまく行きましたよ?
実行結果は以下の通りです。
1.433086
1.337435
1.255169
1.185465
1.127626
1.081072
1.045339
1.020067
1.005004
1.000000
1.005004
1.020067
1.045339
1.081072
1.127626
1.185465
1.255169
1.337435
1.433086
1.543081
一応こうなりましたが、コメントも何もないので、あなたがどのような動きを期待して造ったのかが分かりません。
これで期待通りの動きですか??
うまく行きましたよ?
実行結果は以下の通りです。
1.433086
1.337435
1.255169
1.185465
1.127626
1.081072
1.045339
1.020067
1.005004
1.000000
1.005004
1.020067
1.045339
1.081072
1.127626
1.185465
1.255169
1.337435
1.433086
1.543081
一応こうなりましたが、コメントも何もないので、あなたがどのような動きを期待して造ったのかが分かりません。
これで期待通りの動きですか??
Re: defineについて
>>bitter_foxさん
すみません。
x=LOWERからxをSTEP刻みでx=UPPERとなるまで増やして、それぞれでf(x)(カテナリー曲線)の値を表示させたい
(定義域が[LOWER,UPPER]で、f(LOWER)を表示、f(LOWER+STEP)を表示、f(LOWER+STEP+STEP)...を表示させたい)
のですが、エンドレスに数字が出力されるといった感じです
>>settonさん
そうです、そのような感じに出力したいです。
でもやっぱりエンドレスに数字が出力されるんですよね…
すみません。
x=LOWERからxをSTEP刻みでx=UPPERとなるまで増やして、それぞれでf(x)(カテナリー曲線)の値を表示させたい
(定義域が[LOWER,UPPER]で、f(LOWER)を表示、f(LOWER+STEP)を表示、f(LOWER+STEP+STEP)...を表示させたい)
のですが、エンドレスに数字が出力されるといった感じです
>>settonさん
そうです、そのような感じに出力したいです。
でもやっぱりエンドレスに数字が出力されるんですよね…
Re: defineについて
そういうとき、私だったら、f(x)の値だけではなくxの値も出力してみることをまず考えます。clr さんが書きました: でもやっぱりエンドレスに数字が出力されるんですよね…
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。
プログラムは思ったとおりには動かない。書いたとおりに動く。
Re: defineについて
ここに投稿したコードをコピペして、もう一回実行したら上手くいきました。
なんでさっきまでは上手く行かなかったんだろう…
>>boxさん
なるほど…、終了条件にxが絡んでるからですかね。
参考にします。
なんでさっきまでは上手く行かなかったんだろう…
>>boxさん
なるほど…、終了条件にxが絡んでるからですかね。
参考にします。
Re: defineについて
ありがちなのは
for(x=LOWER;x != UPPER;x=x+STEP){
というふうになっているときですね。
for(x=LOWER;x != UPPER;x=x+STEP){
というふうになっているときですね。