• ベストアンサー

C言語の最大値のプログラムが分かりません。

y=x^3-9*x^2+15*x+10 の関数の最大値を求めるプログラム。 計算するxの範囲を0~6まで0.1間隔で計算しなさい。 このプログラムが分かりません。教えてください。

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

  • ベストアンサー
noname#77845
noname#77845
回答No.5

#1です。 どこまで判ってどこからが判らないのかを書かないといけません。 全く作れない訳じゃないでしょう? while文を使いたいみたいなので、for文の例を載せておきます。 #include <stdio.h> void main(void) { float x,y,max=0,may=0; for(x=0;x<=6;x=x+0.1) { y=x*x*x-9*x*x+15*x+10; if(max<y) max=y; } printf("最大値 = %f\n",max); } でも、このプログラムはひねりも何も無いし…。

その他の回答 (5)

  • 2kaku34
  • ベストアンサー率30% (101/329)
回答No.6

基礎的C言語文法のまとめ http://wwwst.sc.musashi-tech.ac.jp/~bulletin/c_lang.htm C 標準関数逆引き辞典 http://always-pg.com/c/runtime_rd/ 参考まで。関数(宣言文やポインタや配列など)色々ありますが、頑張って下さい。

  • ryopis
  • ベストアンサー率20% (49/238)
回答No.4

前回の値と今回の値を比較して大きい方の値を保持。 これを繰り返して最終的に残ったのが最大値。 あとは、その値を表示すればいいと思います。

  • 2kaku34
  • ベストアンサー率30% (101/329)
回答No.3

ただ単に、Xを0~6まで0.1づつ増やして解の内一番大きいのが解。 while文 http://ja.wikipedia.org/wiki/While%E6%96%87 配列とポインタ http://www9.plala.or.jp/sgwr-t/c/sec10-2.html 以下は参考にして下さい。(関数の形は想像できますよね?) FunctionView(関数グラフ作成ソフト) http://www.forest.impress.co.jp/lib/stdy/study/mathmatics/functionview.html ニュートン法 http://www.akita-nct.ac.jp/yamamoto/lecture/2005/5E/nonlinear_equation/text/html/node4.html

yagisu25
質問者

お礼

回答ありがとうございます。 while文を使い0.1づつ増やした数を表示できるのですが、実行時に「最大値=  」を表示させたいのですけどやり方がわかりません。

  • cabcl420
  • ベストアンサー率25% (28/108)
回答No.2

xが有限ならy=x^3-9*x^2+15*x+10をwhile文でまわして最大値を更新していけばできるのでわ?

noname#77845
noname#77845
回答No.1

どこが判らないのか補足してください。 このままでは、丸投げで削除されてしまいますよ。

yagisu25
質問者

お礼

回答ありがとうございます。 すみません。もっと詳しく書くべきでした。 while文やfor文を使い0~6まで0.1間隔で表示さすことはできるのですが、「最大値= 」を表示させたいのですけど、やり方がわかりません。

関連するQ&A