私は何年もの間、これに関する問題を見つけようとしてきましたが、頭を悩ませているようです。値 2 を超える数値が入力されると、プログラムは継続的に ' ' または '*' を出力し、終了せず、正しい出力を提供します。
誰かが私が間違っていることを見ることができますか? ここに私のコードがあります:
#include <iostream>
#include<cmath>
using namespace std;
int main()
{
int xx;
cout << "Enter the Height (odd positive numbers only): " << endl;
cin >> xx;
for(float y; y < xx; y++)
{
for(float x; x < xx; x++)
{
x = abs( x - ( xx / 2 ) );
y = abs( y - ( xx / 2 ) );
if( ( x + y ) <= ( xx / 2 ) )
cout << '*';
else
cout << ' ';
}
cout << endl;
}
return 0;
}