• ベストアンサー

Σの計算について

Σの計算についてつぎのようなプログラミングをしてみたんですけど、これって正しいですかね?mのそれぞれの値の時のΣの値が出ますかね?大学でしか実行が出来なくて、今できないので誰か正しいか確認して下さい。 #include <stdio.h> #include <math.h> int main() { int m,i; double h,M; M=0; for(m=1;m<=5;m++){ h=2/m; while(i<=m){ M=M+h; } printf("M%d=%lf",m,M); } return 0; } プログラミングを実行できるフリーのソフトがあれば教えて下さい。

質問者が選んだベストアンサー

  • ベストアンサー
  • squid
  • ベストアンサー率15% (45/284)
回答No.2

Linuxを入れgccを使用するか、 BrolandのBcc5.5または Microsoft .netあるいはCbuilder6体験版をいれる http://www.vector.co.jp/soft/dos/prog/se010138.html

その他の回答 (4)

  • khurata
  • ベストアンサー率40% (54/134)
回答No.5

 大学でCならば、おそらくは Windowsでなくて UNIX系の処理系で勉強されていると思います(勝手な推測ですが;)。  しかし家庭で使われている PCは、ほとんどが Windowsですから、なかなか家庭で実行してみるのは難しいと思います。  すでに回答されている皆さんのアプローチは、Windows上でプログラミングをするという方法であって、大学で使われている環境とはだいぶ違うものになると思います。  そこで私は、Windows上で UNIXっぽい処理系を実行出来る cygwinの導入をおすすめします。cygwin導入については、ここが詳しいのでご覧になって下さい。 http://pcweb.mycom.co.jp/special/2002/cygwin/index.html  また、cygwin自体については、ここにユーザーズガイドがあります。 http://www.sixnine.net/cygwin/cygwin-doc/cygwin-ug-net/cygwin-ug-net.html  なお、すでにご回答されている方々のオススメである Borland C++ Compilerの導入については、ここが詳しいです。 http://www.cmagazine.jp/beginner/bcc/index.html

  • unchikun
  • ベストアンサー率22% (2/9)
回答No.4

上の式だと、iを初期化していませんからiにはごみのような値がはいっています。なのでwhile(i<=m){}のループは環境によっては条件をみたさないことが出てくるので実行されません。M1=0.000000,M2=0.000000となります。また仮にwhile(i<=m)ループにはいったとしてもそこでのしょりがM=M+hであるので iも mもこのループにいる限り値が変わらないので無限ループにおちいってしまいます。 フリーソフトのコンパイラといえば、 borland C++ が有名です。 http://www.borland.co.jp/cppbuilder/freecompiler/ 簡単なインストール方法はここにのっていますので参考までに。。 http://hp.vector.co.jp/authors/VA017148/pages/install/bcc.html もうひとつはやはりなんといってもGCCでしょう。 おそらく大学でプログラミングの授業をなさっているということはUNIX環境ではないでしょうか?もしそうであれば御自宅のマシンにUNIX系のOSを導入するのも手かもしれません。最近話題のLINUX(例えばfedora core)なんかでもいいですね。このfedora coreを導入すればコンパイラの中でも名高いGCCコンパイラがくっついてきます。もちろんfedora coreは無償です。導入がめんどうですがwindowsとの共存もできるのでUNIX系のOSになれるためにやってみるのもいいとおもいます。

  • arukamun
  • ベストアンサー率35% (842/2394)
回答No.3

プログラムを見る限り、 5   2 Σ  ―― m=1  m を求めたいのですか? まずiの初期化がされていませんので、 while(i<=m){ が判断出来ませんね。 また、このwhileループの必要性がわかりません。 whileループ無しで、 M=M+h; または M+=h; で良いのでは・・・。 次に h=2/m; ですが、右辺はint型ですので、正しいhが求められません。 h=2.0/m; とする事をお勧めします。 あと、 include <math.h> ですが、とくにmath.hで定義されている関数を使っていないので、必要ないでしょうね。 最後に、このWeb上ではどうにもならないかもしれませんが、Cはフリーフォーマットですので、タブやスペースを入れて見やすくしましょうね。 参考URLはBorlandのフリーのコンパイラです。

参考URL:
http://www.borland.co.jp/cppbuilder/freecompiler/
  • apple-man
  • ベストアンサー率31% (923/2913)
回答No.1

 うまく行くかわかりませんが、 Borlandの無料のコンパイラーが あります。

参考URL:
http://www.borland.co.jp/cppbuilder/freecompiler/bcc55download.html

関連するQ&A