2017-12-09 2 views
-6

이 배열은 값을 많이 만들었고 기본적으로 배열에 입력되는 모든 값을 확인하기 위해 if 문을 통해 가고 싶습니다. 특정 조건입니다. 조건은 좋으며 필요한 모든 값을 가지고 있지만이 if 문은 배열의 각 값이 아닌 redsigma 배열의 모든 값을 취합니다. 어떻게 각 값을 전체 배열이 아닌 if 문에 넣을 수 있습니까? 비교적 새로운 C++. 어떤 도움을 주셔서 감사합니다.If 문 - C++

for (int i = 0; i < 7990272; i++) 
{ 
float redsigma[] = { img1->pixels[i].r + img2->pixels[i].r + img3->pixels[i].r + img4->pixels[i].r} 

if (redsigma[0] > lbounds && redsigma[0] < upbounds) 
{ 
        do work blah blah blah 
} 
} 
+2

A +는 a, =>가 아니며 배열에 하나의 값이 있습니다. 감사합니다. –

답변

0

당신은 요소를 반복하기 위해 루프를 사용해야합니다 :

for(int i = 0; i < the length of redsigma; ++i) { 
    if(redsigma[i] meets conditions) { 
    } 
} 

내가 대신 배열의 std::vector를 사용하는 것이 좋습니다.

+0

. 왜 대신 벡터를 사용합니까? – Russsu

+0

@Russsu 벡터는 배열보다 상위 수준이므로 더 많은 메모리가 안전합니다. 예를 들어, 경계 밖의 배열에 액세스하면 segfault가 발생하고, 'at'함수 ('[]'연산자 제외)를 사용하여 경계를 벗어난 벡터에 액세스하면 예외가 발생합니다. 벡터를 사용하면 반복자와 각 구문 당을 사용할 수 있습니다. –

+0

@Downvoters, 내 대답에 무엇이 잘못되었는지 설명해 주시겠습니까? OP는 전체 배열 대신 배열의 각 요소를 검사하는 방법을 알고 싶었습니다. 아니면 질문을 오해 했습니까? –