게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
C++ 2차 백터 반전함수를 어떻게 짤까요?
게시물ID : programmer_22261짧은주소 복사하기
작성자 : 한시운
추천 : 0
조회수 : 688회
댓글수 : 1개
등록시간 : 2018/04/06 16:38:29
2차 백터의 X와 Y축 값을 반전하여 저장하고 싶습니다.

좀더 자세히 말하자면
vector<vector<String> >VectorYX 에 

VectorYX[0][1] = "01";
VectorYX[0][2] = "02";
VectorYX[0][3] = "03";
VectorYX[0][4] = "04";

VectorYX[1][1] = "11";
VectorYX[1][2] = "12";
VectorYX[1][3] = "13";
VectorYX[1][4] = "14";

위와 같은 값이 들어있다 했을때
//void VectorYXReverse(vector<vector<String> > *VectorYX)
VectorYXReverse(&VectorYX);

위와 같은 함수를 지나면

VectorYX[1][0] = "01";
VectorYX[2][0] = "02";
VectorYX[3][0] = "03";
VectorYX[4][0] = "04";

VectorYX[1][1] = "11";
VectorYX[2][1] = "12";
VectorYX[3][1] = "13";
VectorYX[4][1] = "14";

위와 같이 VectorYX이 반전되는 함수를 짜고 싶습니다.

그런대 좀처럼 깔끔하고 좋은 함수가 안만들어 지내요
수학적으로 이해하고 있는대 좀처럼 코드로 짜기가....

일단 지금까지 짠 함수는 다음과 같습니다.

void CustomFile::VectorYXReverse(vector<vector<String> > *VectorYX) {
vector<vector<String> >BufVectorYX;
BufVectorYX.clear();
BufVectorYX = *VectorYX;

vector<vector<String> >BufVectorXY;
BufVectorXY.clear();

vector<String>BufVectorX;
BufVectorX.clear();

String BufStr;

// 반전을 하기 위해선 우선 push_back을 통해서 메모리 공간을 반전하여 확보하며 할당한다.
for (int j = 0, i = 0; BufVectorYX[j].size() != NULL; j++) {
for (i = 0; i < BufVectorYX[j].size(); i++) {
BufStr = BufVectorYX[j][i];
BufVectorX.push_back(BufStr);
BufVectorXY.push_back(BufVectorX);
}
BufVectorX.clear();
}

*VectorYX = BufVectorXY;
}
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호