제 실수를 말해주세요 배열을 정렬하려면 거품 정렬 방법을 사용하고 있습니다. 포인터를 사용하여 plz를 수정하고 실수를 수정하고 싶습니다. 내 실수는 정렬 조건에 있다고 생각합니다.포인터를 통해 정렬
#include <iostream>
using namespace std;
int main() {
//sorting
int arr[5];
int *ptr;
ptr = arr;
int temp;
for (int i = 0; i < 5; i++) {
cin >> *(ptr+i);
}
for (int i = 0; i<5;i++) {
for (int z = 0; z<4; z++) {
if (*(ptr+1) < *ptr) {
temp = *ptr;
*ptr = *(ptr+1);
*(ptr+1) = temp;
}
*(ptr++);
}
}
for (int i = 0; i < 5; i++) {
cout << *(ptr+i) << endl;
}
return 0;
}
프로그램을 디버그하려고 했습니까? –
지금 삭제 된 답변에서 말한 것처럼'* (ptr ++)'는'ptr ++'이어야합니다. 'ptr'가 한 끝을 가리킬 때 차이가 생길 것이며 여러분은 그것을 역 참조하려고합니다. – chris
또한 ptr을 사용했지만 여전히 오류가 발생했습니다. – user3100177