Как сравнить одно целое число с массивом из десяти целых чисел, чтобы определить, содержится ли единственное целое в массиве с использованием языка C? Мои извинения, если оригинальный вопрос был неясен, а салфетка равна любому числу внутри массива, я хочу вывести PORTD = 0b10000000. Спасибо!Сравните одно целое с массивом целых чисел в C?
short a[10]={10, 11, 12, 13, 14, 15, 16, 17, 18, 19}; //Array of accepted passwords.
short array[10];
int i;
for(i=0; i<10; i++){
array[i]=a[i];
}
srand(clock());
while(1){
int swipe=rand() % 20; /* Simulated code read from card swipe, in this
* instance we used a random number between
* 1 and 20.*/
for(i=0; i<10; i++){
if(swipe == array[i]) {
PORTD=0b10000000;
} else {
PORTD=0b00001000;
} //If swiped code evaluates as one of the approved codes then set PORTD RD7 as high.
}
char Master=PORTDbits.RD7;
Это, кажется, решило это ... спасибо за вашу помощь!
for(i=0; i<10; i++){
if(swipe == array[i]) {
PORTD=0b10000000;
break;
} else {
PORTD=0b00001000;
}
}
Кстати, вы вызвали 'srand()'? – ryyker
Я назвал srand, но, похоже, не имел большого значения, поскольку в настоящее время я получаю разные случайные переменные каждый раз, когда код проходит, поэтому я его вынул. Спасибо – NewMC
Как вы вызываете 'rand()' в цикле, вы должны сначала вызвать 'srand()' до [[посеять псевдослучайные значения] (http://stackoverflow.com/a/16569330/645128) _ , – ryyker