Я только что узнал, C++ в течение очень короткого промежутка времени, и в назначении Я пытаюсь найти конкретную цель в 2 одномерный массив следующим образом:Почему этот поиск терпит неудачу?
bool simsearch(int array[22][22], int target, int n){
bool result = 0;
for (int a = 1; a < n + 1; a++){
for (int b = 1; b < n + 1; b++){
if (array[a][b] == target)
result = 1;
break;
}
}
return result;
}
и использовать его как:
if(simsearch(substitute, 6, size) == 0){
cout << "**Warning**" << '\n';
}
Но выход предупреждения всегда присутствует, даже если цель находится в массиве. Какова основная проблема в коде?
Спасибо!
Индексирование массивов в C/C++ идет между 0 и 'n-1' (не между 1 и' n'). –
Почему вы используете '0' и' 1' для 'bool', почему бы не' false' и 'true'? –
Извините, что вводите вас в заблуждение, но n не представляет размер массива, поэтому основная проблема - это не цифры, но спасибо за все ответы, и я решил проблему! :) – hkbgner