Я пытаюсь посмотреть в массиве, чтобы узнать, найден ли в нем точный элемент (x). Для этого я говорю в начале проблемы, что contor = 0 (логический параметр), что означает, что в массиве нет x, но если во время цикла for и x найдено в массиве, я сказал что contor = 1 ... и в конце я выполнил тест if (contor) else и он не работает в случае, когда x не найден в массиве. Это просто ничего не показывает. Я не понимаю ... Я новичок. Спасибо!Я неправильно использую логический оператор?
#include<iostream>
using namespace std;
void main()
{int x, st, dr, m,n,i,contor=0; //dr = right, st = left, m=middle;
int v[100];
cout << "How many elements will the array have?";
cin >> n;
cout << endl;
for (i = 0; i < n;i++)
{cout << "Insert a element in the array:";
cin >> v[i];
}
cout << "Which is the number you are looking for?";
cin >> x;
st = 0;
dr = n - 1;
for (i = st; i <= dr;)
{m = (st + dr)/2;
if (v[m] == x)
{ contor = 1;
break;
}
else if (v[m] > x)
dr = m - 1;
else st = m + 1;
}
if (contor)
cout << "The element you are looking for is in the array.";
else
cout << "The element you are looking for is NOT in the array.";
cin.get();
cin.get();
}
Очень важно, чтобы вы форматировали свой код последовательно с отступом, если хотите, чтобы мы потратили более пяти секунд на его чтение. – Sebivor
Я думал, что с самого начала все в порядке. Теперь я сделал некоторые изменения. Все в порядке ? – Skyp89
№ Все еще непоследовательно. Я предлагаю рассмотреть [эту статью в википедии о стилях отступа] (https://en.wikipedia.org/wiki/Indent_style) ... – Sebivor