2014-09-13 3 views
-3

은 == "비교"연산자는 벡터 그 일 사용할 수있는 특정 값에 대한 정수의 벡터를 확인 == 벡터 우리는 내가 가지고 이 벡터 [I] == 값을 할 수 이비교 벡터 값

if(SolutionMatrix[i]==0) 

을 시도 여기에 SolutionMatrix는

vector<int> SolutionMatrix; 

아무도이 regrading 나를 도울 수 정수형 벡터에게 있습니다. 당신은 다음 중 하나를 표준 알고리즘 std::find 또는 std::any_of

예를 들어 사용할 수 있습니다 주어진 값과 같은 벡터 요소가 있는지 여부를 확인해야하는 경우 코드는

for(int index=0;index<SolutionMatrix.size();i++) 
    { 

     vector<int> b(SolutionMatrix[i].size()); 
     vector<int> c(SolutionMatrix[i].size()); 
     int j,k; 
     j=k=0; 

      for(i=0;i<SolutionMatrix[i].size();i++) 
      { 

        if(SolutionMatrix[i]==0) 
        { 
         b[j++]=i; 

        }    
        else 
        { 

         c[k++]=i; 
        } 

      } 
      b.resize(j); 
      c.resize(k); 
} 
+1

입니다. 나는 말할 수 없다. – chris

+0

하지만 오류가 발생했습니다 ......... 오류는 바이너리 '=='입니다 : 'class std :: vector ' '이 연산자 또는 형식을 미리 정의 된 연산자 – Khan

+1

@Khan 정확히 _relevant_ 코드를 표시 – P0W

답변

1

입니다

if (std::find(SolutionMatrix.begin(), SolutionMatrix.end(), 0) != SolutionMatrix.end()) 
{ 
    std::cout << "0 is found" << std::endl; 
} 

또는 동일한 범위의 명세서를 사용할 수 있습니다. 예 :

bool found = false;

편집 : 내 답변 뒤에 나타나는 코드에 대해서는 그다지 의미가 없습니다. 외부 루프 내에서 로컬 벡터 b와 c를 정의하고 각 반복에서 새로 만들고 삭제됩니다.

성명과 동일한 범위를 사용할 수 있습니다. 예를 들어

#include <iostream> 
#include <vector> 
#include <algorithm> 

int main() 
{ 
    std::vector<int> a = { 1, 0, 2, 0, 0, 4, 5 }; 

    std::vector<int> b; 
    b.reserve(a.size()/2); 
    std::vector<int> c; 
    c.reserve(a.size()/2); 

    size_t i = 0; 

    for (int x : a) 
    { 
     if(x == 0) 
     { 
      b.push_back(i); 
     } 
     else 
     { 
      c.push_back(i); 
     } 

     ++i; 
    } 

    for (int x : a) std::cout << x << ' '; 
    std::cout << std::endl; 

    for (int x : b) std::cout << x << ' '; 
    std::cout << std::endl; 

    for (int x : c) std::cout << x << ' '; 
    std::cout << std::endl; 

    return 0; 
} 

출력 당신은`표준 : find`을 찾고 될 수

1 0 2 0 0 4 5 
1 3 4 
0 2 5 6 
+0

그 작동하지 않습니다 – Khan

+0

plz 코드를 참조하고 나를 안내 – Khan

+0

나를 위해이 줄을 설명 할 수 있습니까 (int x : SolutionMatrix) – Khan