Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 2
Регистрация: 27.10.2016
Сообщений: 16
1

Произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами

13.11.2016, 15:24. Показов 1136. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Ребят, выручайте. В пятницу нужно уже сдать эту лабу. Сумму и сортировку сделал, а произведение не могу. Я месяц не могу эту лабу сдать только из-за произведения. Было около 5 вариантов решения произведения и все неправильные. В коде есть один из вариантов решения произведения, но он неправильный. Помогите пожалуйста!


В одномерном массиве, состоящем из n вещественных элементов, вычислить:• сумму положительных элементов массива; • произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами. Упорядочить элементы массива по убыванию.


C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
private void button1_Click(object sender, EventArgs e)
        {
            textBox2.Text = "";
            textBox3.Text = "";
            int[] mas = new int[100];
            Random rnd = new Random();
            int n = Convert.ToInt32(textBox1.Text), n0 = 0;
            for (int i = 0; i < n; i++)
            {
                if (rnd.Next(100) > 50) mas[i] = rnd.Next(5);
                else mas[i] = -rnd.Next(5);
                textBox2.Text = textBox2.Text + Convert.ToString(mas[i]) + "  ";
            }
            int s = 0;
            for (int i = 0; i < n; i++)
            {
                if (mas[i] > n0)
                {
                    s = s + mas[i];
                }
            }
            label2.Text = "Сумма положительных элементов" + Convert.ToString(s);
            int max = Math.Abs(mas[0]);
            int min = Math.Abs(mas[0]);
            int IndexMax = 0;
            int IndexMin = 0;
            for (int i = 0; i < n; i++)
            {
                if (Math.Abs(mas[i]) > Math.Abs(max))
                {
                    max = mas[i];
                    IndexMax = i;
                }
                if (Math.Abs(mas[i]) < Math.Abs(min))
                {
                    min = mas[i];
                    IndexMin = i;
                }
            }
            int P = 1;
            if (IndexMin < IndexMax)
            {
                for (int i = IndexMin; i < IndexMax; i++)
                {
                    P *= mas[i];
                }
            }
            else
            {
                for (int i = IndexMax; i < IndexMin; i++)
                {
                    P *= mas[i];
                }
            }
            label3.Text = "Произведение элементов, расположенных между максимальным по модулю и минимальным по модулю элементами" + Convert.ToString(P);
                int temp;
                for (int i = 0; i < n - 1; i++)
                {
                    for (int j = 0; j < n - i - 1; j++)
                    {
                        if (mas[j] < mas[j + 1])
                        {
                            temp = mas[j];
                            mas[j] = mas[j + 1];
                            mas[j + 1] = temp;
                        }
                    }
                }
                for (int i = 0; i < n; i++)
                    textBox3.Text = textBox3.Text + Convert.ToString(mas[i]) + " ";
            }
        }
    }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.11.2016, 15:24
Ответы с готовыми решениями:

Произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами
Здравствуйте, помогите мне пожалуйста реализовать данный пример. Произведение элементов массива,...

Произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами
Всем привет, есть массив заполненный рандомными числами, нужно найти произведение элементов...

Произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами
Добрый день форумчане! Прощу помощи, задача такова: В одномерном массиве, состоящем из n...

Произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами
Всем привет,помогите люди добрые нужно найти:Произведение элементов массива, расположенных между...

1
6219 / 2467 / 725
Регистрация: 11.04.2015
Сообщений: 3,987
Записей в блоге: 43
14.11.2016, 12:01 2
Если решать "в лоб", то можно так.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
        static double CalcRangeProd(double[] arr)
        {
            int iMin = 0, iMax = 0;
            for (int i = 0; i < arr.Length; i++)
            {
                if (arr[i] < arr[iMin]) iMin = i;
                if (arr[i] > arr[iMax]) iMax = i;
            }
            double prod = 1.0;
            for (int i = Math.Min(iMin,iMax); i <= Math.Max(iMin,iMax); i++)
            {
                prod *= arr[i];
            }
            return prod;
        }
Правда тут еще вопрос есть: а что, если в массиве будет больше одного минимального или максимального числа? Ну вот если определили, что минимальный модуль равен трем, а числа три и минус три встречаются несколько раз? Или вот еще: что значит между? Это "между" включает сами минимальное и максимальныое числа или нет? Ну, я думаю, в этих вопросах разберешься уже, просто заострил внимание.
0
14.11.2016, 12:01
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.11.2016, 12:01
Помогаю со студенческими работами здесь

Произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами
Определить массив A (m и n константы), заполнить его случайными числами и выполнить следующие...

Найти произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами
Дан одномерный массив, состоящий из N вещественных элементов. Найти произведение элементов массива,...

Найти произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами
Дан одномерный массив, состоящий из N вещественных элементов. Найти произведение элементов массива,...

Найти произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами
Дан одномерный массив, состоящий из N вещественных элементов. Найти произведение элементов массива,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru