- ベストアンサー
C言語の最大値のプログラムが分かりません。
y=x^3-9*x^2+15*x+10 の関数の最大値を求めるプログラム。 計算するxの範囲を0~6まで0.1間隔で計算しなさい。 このプログラムが分かりません。教えてください。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
#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)
基礎的C言語文法のまとめ http://wwwst.sc.musashi-tech.ac.jp/~bulletin/c_lang.htm C 標準関数逆引き辞典 http://always-pg.com/c/runtime_rd/ 参考まで。関数(宣言文やポインタや配列など)色々ありますが、頑張って下さい。
- ryopis
- ベストアンサー率20% (49/238)
前回の値と今回の値を比較して大きい方の値を保持。 これを繰り返して最終的に残ったのが最大値。 あとは、その値を表示すればいいと思います。
- 2kaku34
- ベストアンサー率30% (101/329)
ただ単に、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
- cabcl420
- ベストアンサー率25% (28/108)
xが有限ならy=x^3-9*x^2+15*x+10をwhile文でまわして最大値を更新していけばできるのでわ?
どこが判らないのか補足してください。 このままでは、丸投げで削除されてしまいますよ。
お礼
回答ありがとうございます。 すみません。もっと詳しく書くべきでした。 while文やfor文を使い0~6まで0.1間隔で表示さすことはできるのですが、「最大値= 」を表示させたいのですけど、やり方がわかりません。
お礼
回答ありがとうございます。 while文を使い0.1づつ増やした数を表示できるのですが、実行時に「最大値= 」を表示させたいのですけどやり方がわかりません。