2017-05-17 1 views
-5

이 프로그램에는 다음과 같은 여러 옵션 중에서 선택할 수 있습니다. 다른 무관으로하는 엘리먼트
3.remove 요소
내가 1 예를 도시하고 2.search 어레이

1.add 소자. 여기 1'st 루프는 모든 옵션에 대해 잘 작동하지만 두 번째 반복을 위해 나는 새로운 요소를 추가 할 수 없습니다, 항상 첫 번째 요소를 추가 한 후루프 및 스위치 문을 사용하는 1D 배열 조작 반복

int k = 0, found = 0; 
//k counts the total elements in the list 
while(1){ 
    switch (choice) 
    { 
     case 1 : 

      printf("Enter the number : "); 
      scanf("%d", &num); 
      for(i=0; i<=k; i++){ 
       if(num == number[i]){ 
       found=1; 
       printf("Element already added. Please try again\n"); 
       break; 
       } 
      } 
      if(found == 0){ 
       number[k]=num; 
       k = k+1; 
       printf("Element added successfully\n"); 
       found = 0; 
      } 

    break; 
    } 

} 
+0

'작동하지 않습니다'는 의미는 무엇입니까? –

+1

실제 출력과 예상 출력은 물론 입력을 표시하십시오. "작동하지 않는다"는 문제는 아닙니다. –

+1

스택 오버플로에 오신 것을 환영합니다! [___MCVE___] (http://stackoverflow.com/help/mcve)를 만드시겠습니까? –

답변

2

를 "요소가 성공적으로 추가"라는 당신의 found 항상 1입니다 . 다음 반복 전에 found에서 0으로 재설정하십시오.

+0

'while' 루프의 시작 부분에서'found'를'0'으로 설정하십시오. 숫자를 성공적으로 제거했을 때'found '는 다음 반복 반복에서'1'입니다. –

+0

@surjitsahoo 이는 요소를 삭제 한 후에도 다시 설정하지 않기 때문입니다 (요소를 검색 할 때도 마찬가지입니다). 필 (Phil)이 말하듯이 처음부터 while 루프 안에서 다시 초기화합니다. – SiggiSv