2017-05-17 10 views
-5

このプログラムには、複数のオプションがあります。他のものは無関係であるように、私が一つだけの場合を示していアレイ
2.search素子
3.remove素子

1.add素子。ここでは第1 'ループは、すべてのオプションについては、正常に動作しますが、2回目の反復のために、私は新しい要素を追加することはできません、それは常に最初の要素を追加した後ループおよびスイッチ文を使用した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です。次の反復の前にfound0をリセットしてください。

+0

'while'ループの先頭で' found'を '0'に設定します。数字を削除すると、 'found 'は次回の繰り返しの繰り返しで' 1'になります。 –

+0

@surjitsahooこれは、要素を削除した後も(要素を検索しても)リセットしていないためです。フィルが言うように、最初の 'while'ループの中でリセットします。 – SiggiSv

関連する問題