-1
私は入力に続いて与えられる3つの辺を生成するプログラムを作ろうとしています:最も長い許容斜辺と必要な三角形の数。辺は整数だけです。 私が書いたプログラムはちょうど私の上にハングアップし、出力を返しません。 あなたがなぜ私をdownvoteするのか説明してください。直角三角形を生成するC++
#include <iostream>
#include <cmath>
#include <cstdlib>
int generator(int number, int hypoth){
int a,b,c;
while (number>0){
c=rand()%(hypoth-1)+1;
for (a=1;a<hypoth-2;a++){
for (b=1;pow(a,2)+pow(b,2)<=pow(c,2); b++){
if (pow(a,2)+pow(b,2)==pow(c,2)){
std::cout<<"sides: "<<a<<" "<<b<<" "<<c<<std::endl;
number--;
}
}
}
}
return 0;
}
int main(){
int triangle_number, hypothenuse;
std::cout << "How many triangles to generate? ";
std::cin >> triangle_number;
std::cout << "How long is max hypothenuse?";
std::cin >> hypothenuse;
generator(triangle_number, hypothenuse);
return 0;
}
私のアルゴリズムを改善する必要があると思う場合は、私に正しい方向を教えてください。 ありがとうございます。
ようこそスタックオーバーフロー!デバッガを使用してコードをステップ実行する方法を学ぶ必要があるようです。良いデバッガを使用すると、プログラムを1行ずつ実行し、どこからずれているかを確認することができます。これはプログラミングをする場合に不可欠なツールです。詳しい読書:** [小さなプログラムをデバッグする方法](http://ericlippert.com/2014/03/05/how-to-debug-small-programs/)** – NathanOliver
あなたはどんな入力を使いましたか?多分それは仕上げには時間がかかりすぎる – user463035818
@ tobi303入力1,6(1つの三角形、最も長い斜辺6)もぶら下がります。また、それが答えを見つけるなら、それはすぐにそれを掲示するので、私はそれが事実であると疑う。 – Sleepycoder