2013-02-04 3 views
3

안녕하세요 "배열에서 뒤로 이동하여"5 "라는 값이 작업 7 (무작위 배열)의 배열에 포함되어 있는지 확인하는 코드를 작성했습니다. 끝에서 시작하여 검색 값을 배열의 값과 비교합니다. 검색 후 값이 발견되면 "값을 찾았습니다"그렇지 않으면 "값을 찾을 수 없습니다."특정 값에 대한 무작위 배열 검색

난 무작위 배열의 생성을 이해하지만 그것을 거꾸로 작동하고 특정 값을 찾는 방법에 붙어있다. 여기

지금까지

class Program 
{ 
    static void Main(string[] args) 
    { 
     int[] myArray = new int[10]; 
     Random rand = new Random(); 

     for (int i = 0; i < myArray.Length; i++) 
     { 
      myArray[i] = rand.Next(19); 
     } 

    } 
} 

}

+0

"역방향으로 작업하고 특정 값을 찾는 방법에 열중하고 있습니다." 즉, 숙제 문제에 완전히 빠져 있습니까? :) 그게 아마도 요점입니다 : 당신이 그것을 해결하는 방법을 알아낼 수 있습니다. 친절한 조언 : 앞으로 한 두 시간 동안 스스로 알아 내려고 노력하십시오. 당신이 그것을 알아낼 수 없다면, 구글을 시도해보고 Google이 당신을 이해하도록 도울 수 있는지보십시오. 내 두 센트 .. – aquinas

답변

1

최대 인덱스부터 최소 인덱스까지 루프를 사용하십시오.

bool found = false; 
for (int i = myArray.Length - 1; i >=0 ; i--) 
    if(myArray[i] == 5) 
     found = true; 
if(found) 
{ 

} 
else 
{ 

} 
+0

고마워. 이것은 그것을 많이 지 웁니다. – user2039999

1

그냥 i--에 반복자와 루프를 사용 뒤로 이동하려면 코드입니다.

for (int i = myArray.Length - 1; i >= 0; i---) 
{ 
    if(// Check if myArray[i] equals the value to find) 
    { 
     // If it is the case, you can get out from the for loop with break 
     break; 
    } 
} 

for 루프는 4 개 부분으로 갈라진다 :

for (initializer; condition; iterator) 
    body 
  1. initializer 루프 (여기 당신이 배열의 마지막 인덱스에서 시작하려는 최초의 반복 이전에 실행됩니다 myArray.Length - 1)
  2. condition은 각 반복마다 평가되며,이 조건이 참이면 3으로 설정됩니다 (for 루프에 머 무르려면 i >= 0는) 그렇지 않으면
  3. bodyiterator 당신이 그 다음 돌아가 i)
  4. 을 줄이려는 뒤로 이동하려면 여기 (실행
  5. 조건을 만족하는 각각의 반복에 대해 실행되는 for 루프를 종료 ~ 2
관련 문제