教えて!gooにおける不適切な投稿への対応について

角度がだんだん増えていくプログラムで
、角度が360度を超えてしまう場合、0+<=x<360で表示したいのですがどうすればいいでしょうか?
(例えば1050度を330度と表示したい)
if elseを使って
if(x>=1080){
x=x-1080;
}
if else(x>=720){
x=x-720;
}
とやっていけばできるのですが、これでは1440度(360*4度)以上は360を超えてしまします。
for文でtを増やして、
if(x>=360*t){
x=x-360*t;}
とやってみたのですがダメでした・・。
お願いします

gooドクター

A 回答 (3件)

x=x%360;

    • good
    • 1
この回答へのお礼

すばやい回答ありがとうございました!!!

お礼日時:2006/04/22 14:53

No.2です。



書き込み時間がNo.1の方と重複してましたので見れなかったのですが、No.1の方の書き方の方が簡単ですね。

x = x % 360;

これだけでxが1000度の場合勝手に280度になりますね。
    • good
    • 0
この回答へのお礼

ありがとうございました!!
こんなに簡単なんですね!
もっと勉強します!!!

お礼日時:2006/04/22 14:52

javaはわかりませんが、Cでの書き方を思いつきました。

参考になりましたら。

int d,x;   // xが求める角度

d = x / 360;

x = x - 360*d;

これでOKだと思います。
例えばxが1000度の場合、1000 / 360 = 2.77・・
なのでdにはその整数部分の2が入ります。dはint型で宣言しているからです。もし不安ならint型にキャストしてもいいでしょう。

これでx = 1000 - 360 * 2
つまりxには280度がめでたく入るわけです。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

gooドクター

人気Q&Aランキング