예제 #1
0
        private void Button_Click_5(object sender, RoutedEventArgs e)
        {
            ArrayList myAL = new ArrayList();
            int       index;
            int       itemCount;

            try
            {
                itemCount = Convert.ToInt32(tbN.Text);
            }
            catch
            {
                itemCount = 0;
            }
            if (itemCount <= 0)
            {
                MessageBox.Show("Введите положительное целое число");
            }
            else
            {
                Random rnd1 = new Random();
                int    number;
                lbMain.Items.Clear();
                for (index = 1; index <= itemCount; index++)
                {
                    number = -100 + rnd1.Next(200);
                    myAL.Add(number);
                    lbMain.Items.Add(number);
                }


                MessageBox.Show("Сейчас появится новое окно, в котором вам необходимо ввести число к, где к индексом элемента массива, с которым вы хотите сравнить значение элементов массива, и найти сумму элементов, которые больше чем к-ый элемента массива");
                Properties.Window1 w = new Properties.Window1();
                w.ShowDialog();
                int k = 0;
                if ((w.flag == 0) || (w.flag == -1))
                {
                    MessageBox.Show("K не было введено. Операция отменена");
                }

                else
                {
                    k = w.n;
                    lbMain.Items.Add("Введенное число к:");
                    lbMain.Items.Add(k);

                    if (k < 0)
                    {
                        MessageBox.Show("Введено отрицательное число, индекс не может быть отрицательным");
                    }
                    else if (k > itemCount)
                    {
                        MessageBox.Show("Такого элемента с индексом к не существует");
                    }

                    else
                    {
                        int[] a = (int[])myAL.ToArray(typeof(int));
                        int   m = a[k];
                        int   t = 0;
                        for (int i = 1; i < itemCount - 1; i++)
                        {
                            if (a[i] > m)
                            {
                                t += a[i];
                            }
                        }
                        if (t == 0)
                        {
                            MessageBox.Show("Элемента, значение которого больше чем элемент с индексом к, в массиве не оказалось");
                        }
                        else
                        {
                            lbMain.Items.Add("Сумма элементов, больше чем к-ый элемент");
                            lbMain.Items.Add(t);
                        }
                    }
                }
            }
        }
예제 #2
0
        private void Button_Click_4(object sender, RoutedEventArgs e)
        {
            ArrayList myAL = new ArrayList();
            int       index;
            int       itemCount;

            try
            {
                itemCount = Convert.ToInt32(tbN.Text);
            }
            catch
            {
                itemCount = 0;
            }
            if (itemCount <= 0)
            {
                MessageBox.Show("Введите положительное целое число");
            }
            else
            {
                Random rnd1 = new Random();
                int    number;
                lbMain.Items.Clear();
                for (index = 1; index <= itemCount; index++)
                {
                    number = -100 + rnd1.Next(200);
                    myAL.Add(number);
                    lbMain.Items.Add(number);
                }


                MessageBox.Show("Сейчас появится новое окно, в котором вам необходимо ввести число к, где к является целым числом, с которым вы хотите сравнить значение элементов массива, и найти первый, который больше чем к");
                Properties.Window1 w = new Properties.Window1();
                w.ShowDialog();
                int k = 0;
                if ((w.flag == 0) || (w.flag == -1))
                {
                    MessageBox.Show("K не было введено. Операция отменена");
                }
                else
                {
                    k = w.n;
                    lbMain.Items.Add("Введенное число к:");
                    lbMain.Items.Add(k);



                    int[] a = (int[])myAL.ToArray(typeof(int));
                    int   t = -1;
                    for (int i = 0; i < itemCount; i++)
                    {
                        if (a[i] > k)
                        {
                            t = i;
                            break;
                        }
                    }
                    if (t == -1)
                    {
                        MessageBox.Show("Элемента, значение которого больше чем введенное к, в массиве не оказалось");
                    }
                    else
                    {
                        lbMain.Items.Add("Номер первого элемента, значение которого больше чем  к");
                        lbMain.Items.Add(t + 1);
                    }
                }
            }
        }