Я тоже пытаюсь найти проблему с этим целую вечность, я наклоняю, похоже, тоже обнимаю его. Когда введено число выше значения 2, программа просто непрерывно выводит '' или '*' и не прерывается и дает правильный вывод.Непрерывный цикл не заканчивается C++
Может ли кто-нибудь увидеть, что я делаю неправильно? Вот мой код:
#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;
}
UB. UB. UB. UB. означает Неопределенное поведение. 'x' и' y' неинициализированы, и вы * читаете * их. – Nawaz
'for (float y; y
perreal
index undefined .... – CppLearner