Найти количество положительных элементов среди элементов - C#
Формулировка задачи:
Найти количество положительных элементов среди элементов, расположенных между первым максимальным элементом и последним минимальным элементом.
Во так задаю массив:
int[] array = new int[8];
Random rand = new Random(8);
for (int i = 0; i < array.Length; i++)
array[i] = rand.Next();
for (int i = 0; i < array.Length; i++)
{
textBox2.Text += array[i].ToString() + "\r\n";
}Решение задачи: «Найти количество положительных элементов среди элементов»
textual
Листинг программы
private void button1_Click(object sender, EventArgs e)
{
int[] array = { 32, 33, 3, 4, 6, -7, 8, 29 };
int maxElement = array[0], indexBiggest = 0;
int minElement = array[0], indexSmallest = 0;
string strokaVivoda = "";
/*Поиск максимального элемента*/
for (int i = 0; i < array.Length; i++)
{
if (maxElement < array[i])
{
maxElement = array[i];
indexBiggest = i;
}
}
/*Поиск минимального элемента*/
for (int j = 0; j < array.Length; j++)
{
if (minElement > array[j])
{
minElement = array[j];
indexSmallest = j;
}
}
/*От большего до меньшего ищем элементы, сдвигая вправо битность на 31.
* Коли опосля сдвига битность элемента начинается на единицу, то отрицательный. На ноль - положительный.*/
for (int k = indexBiggest + 1; k < indexSmallest; k++)
{
if ((array[k] >> 31) == 0)
strokaVivoda += array[k].ToString() + " ";
}
textBox1.Text = strokaVivoda;
}