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

Выбрать элементы большие среднего арифметического и упорядочить получившийся массив по убыванию

12.03.2015, 23:56. Показов 1124. Ответов 2
Метки нет (Все метки)

Как можно заменить строчки с 8 по 12?

Дан массив x1, x2,..., x20. Выбрать элементы большие среднего арифметического и упорядочить получившийся массив по убыванию. Использовать алгоритм обмена.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int[] M = new int[21];
            Random r = new Random();
            for (int i = 1; i < M.Length; i++)
            {
                M[i] =r.Next(1,100);
                Console.WriteLine("{1}", i, M[i]);
            }
            double avg = M.Average(); //среднее арифметическое
            Console.WriteLine("\n" + "avg={0}", avg + "\n");
            int[] K = M.Where(x => x > avg).OrderByDescending(x => x).ToArray<int>(); ///инициализирует массив K,
                                                                                      ///в который из массива M 
                                                                                      ///записываются значения больше среднего
                                                                                      ///отсортированные по убыванию,
                                                                                      ///и преобразованные в массив
            Array.ForEach(K,Console.WriteLine);
            Console.ReadLine();
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.03.2015, 23:56
Ответы с готовыми решениями:

Выбрать элементы массива, большие среднего арифметического, и упорядочить получившийся массив по убыванию
Дан массив x1, x2,..., x20. Выбрать элементы большие среднего арифметического и упорядочить...

Выбрать элементы массива, большие среднего арифметического, и упорядочить получившийся массив по убыванию
Дан массив x1, x2,..., x20. Выбрать элементы большие среднего арифметического и упорядочить...

Разделить массив на две части, поместив в первую элементы, большие среднего арифметического (ассемблерная вставка в C++)
Приветствую,нужен направляющий пинок по решению задачки) задача в следующем Разделить массив на...

Все элементы, большие среднего арифметического значения MAX и MIN элементов перенести в другой массив
Задание №1 В одномерном массиве найти максимальный (MAX) и минимальный (MIN) элементы. Все...

2
16 / 16 / 11
Регистрация: 24.02.2015
Сообщений: 75
13.03.2015, 01:01 2
Podorozhnik, Заменить можно по разному. Смотря что вы проходили.
Например циклом, который перебирает и считает.

Тут у вас ошибка посерьезнее!!!
C#
1
2
3
for (int i = 1; i < M.Length; i++)
            {
                M[i] =r.Next(1,100);
Заполняет массив.
НО! в M[0] по идее будет значение = 0...
Соответственно ср.арифметическое расчитывается неверно.
1
2079 / 1232 / 464
Регистрация: 20.12.2014
Сообщений: 3,237
13.03.2015, 01:29 3
Заменой строк, с 8 по 12, это, конечно, сложно назвать...
Кликните здесь для просмотра всего текста
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
            int[] M = new int[21];
            double avg = 0;
            Random r = new Random();
            Console.WriteLine("Исходный массив: ");
            for (int i = 0; i < 21; i++)
            {
                M[i] = r.Next(1, 100);
                Console.Write("{0} ", M[i]);
                avg += M[i];
            }
            avg /= 21;
            Console.WriteLine("\n\nСреднее значение: {0}", avg);
            int k = 0;
            int[] N = new int[1];
            for (int j = 0; j < 21; j++)
            {
                if (M[j] > avg)
                {
                    Array.Resize(ref N, k + 1);
                    N[k] = M[j];
                    k += 1;
                }
            }
            Console.WriteLine("\nПолученный массив: ");
            for (int p = 0; p < N.Length; p++)
                Console.Write("{0} ", N[p]);
            for (int l = 0; l < N.Length; l++)
            {
                for (int m = l + 1; m < N.Length; m++)
                {
                    if (N[m] < N[l])
                    {
                        var temp = N[l];
                        N[l] = N[m];
                        N[m] = temp;
                    }
                }
            }
            Console.WriteLine("\n\nОтсортированный массив: ");
            for (int p = 0; p < N.Length; p++)
                Console.Write("{0} ", N[p]);
            Console.Read();
        }
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.03.2015, 01:29
Помогаю со студенческими работами здесь

Разделить массив на две части,поместив в первую элементы,большие среднего арифметического массива, а во вторую-меньшие
Объясните пожалуйста,что не так,короче,задачу решил решать так:сначала создам массив,где элементы...

Упорядочить столбцы матрицы по убыванию среднего арифметического
Дона действительная матрица М*Т , упорядочить столбцы матрицы по убыванию среднего арифметического...

Дан массив, состоящий из N элементов.Обнулить все элементы, большие среднего арифметического всех элементов массива
Дан массив, состоящий из N элементов. Обнулить все элементы, большие среднего арифметического всех...

Удалить элементы, большие среднего арифметического в массиве
Удалить элементы, большие среднего арифметического в массиве. Тестовый массив 4 5 6 -4 -5 -12 -34...

Найти элементы большие среднего арифметического и удалить их из множества
Cоздайте множество с элементами типа double, размером 15. Найти элементы большие среднего...

Элементы массива, большие среднего арифметического перенести в начало
Помогите. У меня не делиться массив. Задание прилогается. Задание: Разделить массив на две...


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

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

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