0

ある配列の各要素を別の配列のすべての要素と比較したいと思います。私が達成したいのは、要素が別の配列に存在する場合、結果= 0、そうでない場合は結果= 1です

int m,n;

for(int i=0; i<m; i++) {
  for(int j=0; j<n; j++) {
    if(i==j) {
      result =0;
      //perform a task
       break;
    } 

     if(i!=j) {
       result = 1;
      //perform another task
      break
     }

  }
}

ただし、2番目のif()で必要なものを達成できません

4

1 に答える 1

2

コードを微調整します (char実際に使用しているデータ型に置き換えます):

char A[50];
char B[50];

for(int i=0; i<50; i++) {     // Iterate through A from 0 to 50
  for(int j=0; j<50; j++) {   // Iterate through B from 0 to 50
    if(A[i] == B[j]) {
       // Item from A exists in B
    }
    else {
       // Item from A does not exist in B
    }
  }
}

else" " コードは要素ごとに 1 回実行されることに注意してください。

もっとうまくやることができます。最初に、配列を検索するユーティリティ関数を作成します。

bool item_exists(char item, char[] array, int array_len) {
    for (int i=0; i<array_len; i++) {
       if (array[i] == item)
          return true;
    }
    return false;
}

それからそれを使用してください。

char A[50];
char B[50];

for(int i=0; i<50; i++) {
    if (item_exists(A[i], B, 50)) {
       // Item from A exists in B
    }
    else {
       // Item from A does not exist in B
    }
}
于 2012-08-24T00:10:49.297 に答える