![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_01.png?e8efa67)
#include<iostream>
#include<cmath>
using namespace std;
int main(){
double x1, x2, c, a;
double x1, x2, c;
cout <<"x1:";
cin >> x1;
cout <<"x2:";
cin >> x2;
while(x2-x1 > 0.00001){
c=(x1+x2)/2;
c=(x1+x2)/2;
if(cos(x1/2)*cos(c/2)>=0) x1 = c;
else x2 = c;
}
cout << "x=" << x1 <<endl;
return 0;
}
x1 cos(x/2)って入れると
x2 -9.25596e+061
って出て
cos(pi/2)って入れても同じ風に出てしまうんですがこれも同じように出るんですが故障ですか?
x1に3と入れると
x2が出てきて、x2は4と入れると
xが3.14159と出て、3回xが出ますが、上の2つ(cos(pi/2)とcos(x/2))はx1とx2しか出ません
.
No.3ベストアンサー
- 回答日時:
cin >> x1;
で 変数x1が受け取ることを期待しているのは『数値』ですよ
『cos(pi/2)』などの文字列を与えてもx1は『数値』を受け取りません
cos(pi/2) で 『1』をx1が期待していると期待通りの結果は望めませんよ
以下のようにして 入力されたものがどのようになっているのか確認してみましょう
#include<iostream>
#include<cmath>
using namespace std;
int main(){
double x1, x2, c;
// 変数の初期化
x1 = x2 = -9.8e-8;
cout <<"x1:";
cin >> x1;
cout <<"x2:";
cin >> x2;
// 入力結果
cout << "入力結果 ... x1:" << x1 << " x2:" << x2 << "\n";
while(x2-x1 > 0.00001){
c=(x1+x2)/2;
if(cos(x1/2)*cos(c/2)>=0) x1 = c;
else x2 = c;
}
cout << "x=" << x1 <<endl;
return 0;
}
といった具合で ・・・
No.4
- 回答日時:
Tacosanさんの指摘されていることに尽きると思います。
簡単なプログラムが自分の思った通りには実行されない場合、
まずデバッガでステップ実行し、関係する変数値、関数値、どのパスを通っているのかを確認する、
或いはプリント文を追加し各変数値、関数値、通っているパス等を確認する
以上をやることはプログラマとしての常識のはずです。
また関数としては何を考えているのですか、確認してください。
これまでの他の人のヒントも考慮すれば解決出来るはずです。
分かってしまえば簡単な事ですから、後は人に頼らず自分で解いてください。
そうしないといつまでも力が付かないと思います。
No.2
- 回答日時:
いや, だから, なんで「x1, x2 の値が期待通りになっているかどうか確かめよう」と思わないのかがとっても不思議なんだけど.
あなたはその入力でどのような値になることを期待しているのですか? そして, その「期待した値」が入っていることは確認できているのですか?
No.1
- 回答日時:
なんで「まず x1, x2 の値を確かめよう」と思わないのか.
この回答への補足
#include<iostream>
#include<cmath>
using namespace std;
int main(){
double x1, x2, c;
cout <<"x1:";
cin >> x1;
cout <<"x2:";
cin >> x2;
while(x2-x1 > 0.00001){
c=(x1+x2)/2;
if(cos(x1/2)*cos(c/2)>=0) x1 = c;
else x2 = c;
}
cout << "x=" << x1 <<endl;
return 0;
}
少し間違えてましたが直しても同じでした
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語の課題が出たのですが自力でやっても分かりませんでした。 要素数がnであるint型の配列v2の並 3 2022/11/19 17:41
- C言語・C++・C# C++のcinの動作 5 2023/02/26 00:13
- C言語・C++・C# ある線が円の範囲に入っているかの計算 1 2022/12/07 16:14
- 数学 線形代数の対称行列についての問題がわからないです。 2 2023/01/08 14:59
- C言語・C++・C# C++初心者です stirng 2 2022/09/20 20:43
- Visual Basic(VBA) VBAプログラミング 2 2022/11/27 12:07
- その他(プログラミング・Web制作) Pythonにおける物理のシミュレーションでの単位変換について 2 2023/06/02 17:11
- Visual Basic(VBA) VBAプログラミング 2 2022/11/27 12:13
- 物理学 合成波の式がF(t,x)=2A{(2m-1)πx/2L}cos(2πft) mは自然数とすると、この 7 2023/06/16 04:08
- 工学 コンデンサのサブクラスX1、X2について 1 2022/11/13 12:36
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
検索結果の指定列をリストボッ...
-
ドラゴン曲線を再帰で書く
-
二点の座標から距離や角度を求...
-
C言語のサフィックスについて
-
VBA public変数はどのようなこ...
-
C#のループでtextboxに値を入れ...
-
テキストボックスを空白にする方法
-
Functionの戻り値を配列にした...
-
【VB6.0】 あるフォームから他...
-
他のフォームから別のフォーム...
-
レコードセットにnullの場合
-
エクセルVBAでテキストボッ...
-
文字間の幅の設定
-
VB.NETでのイベントの途中終了
-
VB6でマウスのドラッグで範囲を...
-
TEXTBOXの表示形式の変...
-
ExcelVBAで他のファイル(proje...
-
画像をランダムに表示させたい...
-
リストビューの列ヘッダーの幅...
-
VB6.0の正規表現を使って、文字...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ドラゴン曲線を再帰で書く
-
VB.NET)コンボボックスの連動に...
-
エクセル・VBAでテキストボック...
-
二点の座標から距離や角度を求...
-
複数条件のオートフィルタ(VBA)
-
テキストファイルの読み込みと...
-
エクセル ユーザーフォーム ...
-
C#を勉強していて、指定したフ...
-
エクセルのVBAでの7×7の魔方陣...
-
C言語で非線形方程式を解くプロ...
-
Lispにおける最大値関数
-
Linuxのプログラミング
-
4変数の非線形方程式のときかた
-
こうもりの撃退法
-
二分法のC++プログラム
-
VBA for next
-
小数点以下五桁一致の判定
-
VC++ (byte)(col & 0xFF) の意味
-
2次元配列を返す関数について
-
C言語の行列演算に関する質問
おすすめ情報