최소한으로 코드를 줄였으며 동일한 오류가 재생되어 컴파일됩니다. 나는 그것이 경고를 끈다는 것을 알고있다, 당신은 그 (것)들을 말할 필요가없는 다. 나는 코딩에 익숙하지 않아 도움을 주셔서 감사합니다. 문제는 벡터 Xpos와 Ypos가 main()의 for 루프가 완료 될 때마다 동일한 값을 반환한다는 것입니다. rnadom 출력을 얻고 있지만 모든 벡터 값이 반복됩니다. 그들은 달라야합니다. 무엇이 잘못되었는지 찾도록 도와 줄 수 있습니까? 정말 고맙습니다. 코드 :무작위로 for 루프에서 동일한 값을 반환합니다.
#include "stdafx.h"
#include <ctime>
#include <cmath>
#include <random>
#include <iostream>
using namespace std;
//error is here?
int phaseTwoSimulate(double &Xpos, double &Ypos, int diameter, double stepSize) {
while (pow(Xpos - 201, 2) + pow(Ypos - 201, 2) < pow(diameter, 2)) {
// while inside cicle
int direction = rand() % 4;
switch (direction) {
case 0://north
Ypos = Ypos - stepSize;
break;
case 1://east
Xpos = Xpos + stepSize;
break;
case 2://south
Ypos = Ypos + stepSize;
break;
case 3://west
Xpos = Xpos - stepSize;
break;
}
}
return 0;
}
int main()
{
double Xpos = 201;
double Ypos = 201;
srand(time(NULL));
for (int x = 0; x < 50; x++) {
phaseTwoSimulate(Xpos,Ypos,50,1);
cout << Xpos << "," << Ypos << endl;
double Xpos = 201;
double Ypos = 201;
}
cin.ignore();
cin.get();
return 0;
}
는 [A를 게시 해주세요하기 MCVE]. –
그게 내가 한거야! 어떻게하는지에 대해 이해하지 못하고 있습니까? –
이것은 [mcve]가 아닙니다. 문제를 재현하려면 최소한으로 줄이십시오. 그리고 아니오, 요청하지 않는 한 여기에 전체 프로그램의 코드를 게시 할 필요가 없습니다. 이 문제를 재현하려면 최소 –