저는 C++로 무언가를 쓰고 싶습니다. 아이디어가 있지만 그것을 작성하려고 시도했지만 어떻게 해야할지를 깨닫지 못합니다.벡터를 그 속성에 따라 더 작은 벡터로 나눕니다.
설명
나는 우리가 eveytime 우리가 우리의 프로그램을 실행 정의한 vector<int>
을 가지고 상상해보십시오. 그 이름은 mainVector
입니다.이 벡터는 무작위 수의 int를 갖습니다. 모든 int에는 속성이 있습니다.
예를 들어 다음과 같은 값을 가진 벡터가 있습니다 : vector<int> mainVector {1, 3, 15, 33, 35, 42, 57, 69, 73}
; 우리가 예를 들어 properties
라는 요소의 위치에 mainVector의 모든 요소의 특성을 설명하는 또 다른 vector<int>
: vector<int> properties {1, 1, 1, 2, 2, 2, 3, 3, 3}
이
내가 지금 원하는 것은 서로 다른 많은 작은 벡터의 첫 번째 벡터를 분할하는 것입니다 속성이 존재합니다. 예를 들어, 마지막 경우에 새 벡터가 세 개 있습니다. 속성이 1 인 요소가있는 벡터 : 1, 3, 15
; 재산 2를 가진 성분을 가진 벡터 : 33, 35, 42
; 및 속성 3 요소가있는 벡터 : 57, 69, 73
.
문제는 이것을 정의하는 방법을 모르므로 첫 번째 벡터가 코드를 실행할 때마다 다를 수 있기 때문입니다.
여기 내 아이디어를 당신에게 코드를 첨부 :do
{
for(int t=0;t<mainVector.size();t++) // id tables
{
string Vect("Vector");
Vect +=t;
vector<int> Vect
for(int u=0;u<mainVector.size();u++)
{
if(properties.at(u) & t)
{
Vect.push_back(mainVector.at(u)); // I know this is not correct but I hope you understand what I mean
}
}
}
}
감사를 사전에 모두에게! :)
해명 내가 명확히하려는
뭔가 중요한 : mainVector
이미 imput 덕분에 정의 된 또 다른 더 큰 벡터의 서브 벡터이다. bigVector <int>
은 {1, 2, 3, 4, 5, 6, ...., 99, 100, 101, ..., n}
이고 vector <int> properties
은 사실상 어떤 경우에도 다를 수있는 큰 빅 벡터이므로 예를 들어 하나의 실행에서 나는 {1, 1, 1, 1, 1, 1, ..., 1, 1, 2, ... 2}
일 수 있고 다른 순간은 {1, 1, 1, 1, 2, 2, ..., 26, 26, 27, 49}
일 수 있으므로 벡터를 할 수 없다고 생각합니다. 당신 중 일부는 추천, 어떤 아이디어로 벡터 ??
다시 한번 감사드립니다 !!!
답장을 보내 주셔서 감사합니다. 나는 내 질문을 명확히했다. 왜냐하면 내가 추천 한대로 벡터>으로 그 일을 할 수 없다고 생각하기 때문이다. 당신이 그것을하는 방법을 알고 있다면 좀 봐봐! 고마워요 :) –
thomas
나는 여전히 벡터 벡터가 효과가 있다고 생각합니다. 다시 말하려는 노력을 할 수 있습니까? 데이터로 무엇을하고 싶습니까? 서브 벡터의 새로운 "객체"로 무엇을하고 싶습니까? – Jess
위의 솔루션을 편집했습니다 ... 찾고있는 솔루션인지 확실하지 않습니다? – Jess