Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
0 / 0 / 1
Регистрация: 17.10.2018
Сообщений: 13
1

Найти среднее арифметическое элементов массива, расположенных между последними вхождениями максимального и минимального

05.12.2018, 19:30. Показов 1749. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Найти среднее арифметическое элементов массива, расположенных между последними вхождениями максимального и минимального чисел.

Помогите исправить недочеты и ошибки в результате программы.

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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication1
{
    class Program
    {
        static int[] RandomFill(int[] numbers)
        {
            int[] Array = numbers;
            Random RndGen = new Random();
            for (int i = 0; i < Array.Length; i++)
            {
                Array[i] = RndGen.Next(10);
                Console.WriteLine(Array[i]);
            }
            return Array;
        }
 
        static void ManualFill(int[] numbers, int n)
        {
            Console.WriteLine("Введите элементы:");
            for (int i = 0; i < n; i++)
            {
                numbers[i] = Int32.Parse(Console.ReadLine());
            }
        }
 
        static void Average(int n, int[] arr, int minIndex, int maxIndex)
        {
            if (maxIndex < minIndex) Console.WriteLine("0");
            else
            {
                int[] arr2 = new int[n];
                Array.Copy(arr, minIndex+1, arr2, 0, maxIndex-1);
                double res = arr2.Average();
                if (res == 0) Console.WriteLine("Среднее арифметическое: 0");
                else Console.WriteLine("Среднее арифметическое: " + res);
            }
            return;
        }
 
        static void Main(string[] args)
        {
            Console.WriteLine("Количество элементов:");
            int n = Int32.Parse(Console.ReadLine());
            int[] numbers = new int[n];
 
            Console.WriteLine("1)Random 2)Manual ");
            string way = Console.ReadLine();
 
            if (way == "1") RandomFill(numbers);
            else if (way == "2") ManualFill(numbers, n);
            else Console.WriteLine("Ошибка написания");
 
            int minIndex = Array.IndexOf(numbers, numbers.Min());
            int maxIndex = Array.IndexOf(numbers, numbers.Max());
            
            Average(n, numbers, minIndex, maxIndex);
 
            Console.ReadKey();
        }
    }
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.12.2018, 19:30
Ответы с готовыми решениями:

Найти среднее арифметическое максимального и минимального элементов массива
Всем доброго времени суток. Нужна ваша помощь, с C++ только начал знакомится, есть задача. Найти...

Найти среднее арифметическое максимального и минимального элементов массива
Дан массив размера N. Сформировать новый массив, в который поместить элементы старого, начиная от k...

Найти среднее арифметическое минимального и максимального элементов массива
найти среднее арифметическое минимального и максимального элементов массива А(n),где 0&lt;=n&lt;=20.

Найти среднее арифметическое максимального и минимального элементов массива А
const n=7; procedure TForm1.FormCreate(Sender: TObject); var i:integer; begin...

1
315 / 244 / 149
Регистрация: 03.10.2017
Сообщений: 886
Записей в блоге: 1
05.12.2018, 20:54 2
Лучший ответ Сообщение было отмечено Artur Trainee как решение

Решение

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
74
75
76
77
78
79
80
81
82
83
84
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication1
{
    class Program
    {
        static int[] RandomFill(int[] numbers)
        {
            int[] Array = numbers;
            Random RndGen = new Random();
            for (int i = 0; i < Array.Length; i++)
            {
                Array[i] = RndGen.Next(10);
                Console.Write(Array[i]+"\t");
            }
            Console.WriteLine();
            return Array;
        }
 
        static void ManualFill(int[] numbers, int n)
        {
            Console.WriteLine("Введите элементы:");
            for (int i = 0; i < n; i++)
            {
                numbers[i] = Int32.Parse(Console.ReadLine());
            }
        }
 
        static void Average(int n, int[] arr, int minIndex, int maxIndex)
        {
            if (minIndex < maxIndex + 1)
            {
                double summa=0;
                double count=0;
 
                for (int i = minIndex + 1; i < maxIndex; i++)
                {
                    count++;
                    summa += arr[i];
                }
 
                Console.WriteLine(summa/count);
            }
            else Console.WriteLine("0");
        }
 
        static void FindMinMax(int[] numbers,out int minIndexValue,out int maxIndexValue)
        {
            minIndexValue = maxIndexValue = 0;
 
            for(int i = 0; i < numbers.Length; i++)
            {
                if (numbers[i] >= numbers[maxIndexValue]) maxIndexValue = i;
                if (numbers[i] <= numbers[minIndexValue]) minIndexValue = i;
            }
        }
 
        static void Main(string[] args)
        {
            Console.WriteLine("Количество элементов:");
            int n = Int32.Parse(Console.ReadLine());
            int[] numbers = new int[n];
 
            Console.WriteLine("1)Random 2)Manual ");
            string way = Console.ReadLine();
 
            if (way == "1") RandomFill(numbers);
            else if (way == "2") ManualFill(numbers, n);
            else Console.WriteLine("Ошибка написания");
 
            int minIndexValue;
            int maxIndexValue;
 
            FindMinMax(numbers,out minIndexValue,out maxIndexValue);
 
            Average(n, numbers, minIndexValue, maxIndexValue);
 
            Console.ReadKey();
        }
    }
}
1
05.12.2018, 20:54
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.12.2018, 20:54
Помогаю со студенческими работами здесь

Найти среднее арифметическое минимального и максимального элементов массива
Задан одномерный массив А. Найти среднее арифметическое минимального и максимального элементов...

Найти среднее арифметическое максимального и минимального по модулю элементов массива.
помогите написать программу в паскале.Условие: Найти среднее арифметическое максимального и...

Найти среднее арифметическое максимального и минимального по модулю элементов массива
Найти среднее арифметическое максимального и минимального по модулю элементов массива. С помощью...

Найти среднее арифметическое максимального и минимального по модулю элементов массива.
Найти среднее арифметическое максимального и минимального по модулю элементов массива.

Найти среднее арифметическое максимального и минимального элементов одномерного массива
помогите с программой Найти среднее арифметическое максимального и минимального элементов...

Найти среднее арифметическое индексов минимального и максимального элементов массива
Определить среднее арифметическое индексов минимального и максимального элементов массива А, где...


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

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