2016-11-27 8 views
-3

int [] arr1 = new int [] {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};C# Сравните INT в массиве с заданной точкой и задайте биты в массиве, который отражает длину первого массива

Как я могу запустить этот массив и проверить каждый int в массиве на число (предположим, что 5), и если номер массива меньше 5, тогда установите int в 0 и если номер массива больше чем 5, установите для номера массива значение 1.

Я передаю значения RGB в ПЛК для обработки. Я хотел бы, чтобы ПК обработал данные RGB и просто отправил массив из 1, s и 0, s в ПЛК. Вот то, что я до сих пор:

Array.Copy(Reddepthcall, RedmatchedItemsAngle, 1000); 

RedmatchedItemsAngleFinal = Array.FindAll(
    RedmatchedItemsAngle, 
    x => x >= lBound && x <= uBound 
); 

for (int ctr = 0; ctr < RedmatchedItemsAngleFinal.Length; ctr++) ; 

int RedcountAngle = RedmatchedItemsAngleFinal.Length; 
+0

Что вы пробовали ? Ваша проблема кажется довольно ясной, поэтому писать цикл не должно быть слишком сложно? –

+0

Я пробовал для каждого цикла, но как вставить функцию сравнения и изменения. – joev

+1

Положите свой код в вопрос - мы не можем без этого помочь. –

ответ

1

Попробуйте это:

int[] arr1 = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; 
int num = 5; 
for (int i = 0; i < arr1.Length; ++i) 
    arr1[i] = arr1[i] < num ? 0 : 1; 

Примечание: Вы должны решить, что вы хотите делать, если значение равно 5 ...

+0

* Примечание: вам нужно решить, что вы хотите сделать, если значение равно 5 ... * Спецификации сложны! –