0 / 0 / 0
Регистрация: 05.12.2010
Сообщений: 5
1

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

20.05.2011, 15:19. Показов 1532. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Суть такова:
В массиве вычислить:
1 сумму положительных элементов. СДЕЛАЛ
2 Произведение элементов стоящих между максимальнм по МОДУЛЮ и минимальным по модулю. ВОТ ЭТО НЕ МОГУ СООБРАЗИТЬ помогите.
3 упорядочить по убыванию Сделал.

Вообщем я выделил место где у меня проблема, кому не жалко помогите.
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace massiv5
{
    class Program
    {
        static void Main(string[] args)
        {
            int sum=0;
            int pro = 1;
            Console.WriteLine("Введите число элементов массива");
            int n = int.Parse(Console.ReadLine());
            int[] a = new int[n];
 
            Random random = new Random();
            int rand;
            for (int i = 0; i < n; i++)
            {
                rand = random.Next(-50, 50);
                a[i]=rand;
                Console.Write(a[i] + " ");
            }
 
//ТУТ МУТОТЕНЬ НАЧИНАЕТСЯ
 
            int min=a[0];
            int max=a[0];
            int mi=0;
            int ma = 0;
            for (int i = 0; i < n; i++)
            {
                if (a[i] > 0) sum = sum + a[i]; // СУММУ ПОСЧИТАЛ НОРМАЛЬНО, ЭТО НЕ МУТОТЕНЬ
                if (a[i] > Math.Abs(max)) ma=i;
                if(a[i] < Math.Abs(min)) mi=i;
            }
            
            for (int i = min + 1; i < max; i++)
            {
                if (i < max) pro = pro * a[i]; else pro = 0;
                
            }
            Console.WriteLine("Произведение эллементов между мин и макс по модулю элементами:"+pro);
            Console.WriteLine();
 
//ТУТ МУТОТЕНЬ ЗАКАНЧИВАЕТСЯ
 
            Array.Sort<int>(a);
            Array.Reverse(a);
            Console.WriteLine("Сортировка по убыванию");
            for (int i = 0; i < n; i++)
            {
                Console.Write(a[i]+" ");
            }
            Console.WriteLine();
            Console.WriteLine("Сумма положительных элементов:"+sum);
            
        }
    }
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.05.2011, 15:19
Ответы с готовыми решениями:

Найти произведение элементов массива расположенных между максимальным и минимальным по модулю элементами
Ребят, посмотрите пожалуйста код, он неправильно считает: произведение элементов массива,...

Добавьте произведение элементов массива, расположенных между максимальным и минимальным по модулю элементами
static void Main(string args) { Console.WriteLine(&quot;Введите...

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

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

6
208 / 138 / 15
Регистрация: 28.04.2011
Сообщений: 389
20.05.2011, 15:56 2
lol а если масси 2 3 4 1 6 7 50 8 9 1 , то 6*7 или 8*9 ну пофиг
C#
1
2
3
4
5
6
7
8
9
10
 int[] arr = new int[] { 13, 2, 1, 55, 23, 76, 2, 14,-1, 48 };
            bool flag = false;
            double sum = 1;
            foreach (int p in arr) 
            {
                if ((p == Math.Abs(arr.Min())) || (p == Math.Abs(arr.Max()))) { flag = !flag; continue; }
                if (flag) sum *= p;
            }
            Console.WriteLine(sum);
            Console.ReadKey();
1
0 / 0 / 0
Регистрация: 05.12.2010
Сообщений: 5
20.05.2011, 16:12  [ТС] 3
Цитата Сообщение от WonderFlik Посмотреть сообщение
то 6*7 или 8*9 ну пофиг
Я понял что от максимального до минимального должно быть вроде как.

Немного не понимаю что означает p?
Ну да ладно заработало и хорошо.
0
208 / 138 / 15
Регистрация: 28.04.2011
Сообщений: 389
20.05.2011, 16:14 4
lol а если минимальный перед максимальным)
p - грубо говоря arr[i] для фор с итератором i++ )
1
288 / 233 / 33
Регистрация: 09.02.2011
Сообщений: 435
20.05.2011, 16:15 5
В foreach ты проходишь по всем элементам массива arr и в p ложится при этом сам элемент массива
C#
1
2
3
4
            foreach (int p in arr) 
            {
 
            }
1
0 / 0 / 0
Регистрация: 05.12.2010
Сообщений: 5
20.05.2011, 16:32  [ТС] 6
Ясно, спасибо)

Добавлено через 7 минут
Работает, но если например массив -19 -28 -47 12 -16
Произведение получается = -16
Нужно какое то исключение засунуть что ли?
0
208 / 138 / 15
Регистрация: 28.04.2011
Сообщений: 389
21.05.2011, 08:14 7
я неправильно написал)
короче студии под рукой нет, исправь там нужно сначала получить промежуточный массив из модулей начального а уже для него делать такой цикл
0
21.05.2011, 08:14
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.05.2011, 08:14
Помогаю со студенческими работами здесь

Произведение элементов массива, расположенных между максимальным и минимальным элементами
Добрый день! Вроде бы правильно написал, но упорно выводит 1. Что не так, подскажите? int sum =...

Найти произведение элементов массива, расположенных между максимальным и минимальным
Вариант 1 В одномерном массиве, состоящем из п вещественных элементов, вычислить: 1) сумму...

Найти произведение элементов массива, расположенных между максимальным и минимальным элементами
В одномерном массиве, состоящем из 10 целых элементов, вычислить на языке C#: - произведение...

Напечатать произведение элементов, расположенных между максимальным и минимальным элементами массива
Ребята, подскажите как сделать : напечатать произведение элементов, расположенных между...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru