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

Вставить минимальный элемент массива перед каждым максимальным

15.11.2017, 21:32. Показов 3229. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дан одномерный массив, размерность которого считывается с клавиатуры, но в моём случае 10. Его элементы заданы случайным образом в диапазоне [-15..30]. Суть задачи в том, что программа должна находить минимальное значение массива и максимальное, а после данное минимальное число подставить перед каждым.

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

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

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
static void Main(string[] args)
        {
            int []a = new int[10];
            Random ran = new Random();
            Console.WriteLine("Весь массив: ");
            for (int i = 0; i < 10; i++)
            {
                a[i] = ran.Next(-15, 30);
                Console.Write("{0}\t", a[i]);
            }
                Console.WriteLine("\n");
                
                int min = a[0];
                int max = a[0];
 
                foreach (int el in a)
                {
                    if (el < min)
                    {
                        min = el;
                    }
                    if (max < el)
                    {
                        max = el;
                    }
                }
                 
                Console.WriteLine("Минимальное значение {0}; Максимальное значение {1}", min, max);
P.S. задача в консоли, да. Буду премного благодарен.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.11.2017, 21:32
Ответы с готовыми решениями:

Перед каждым положительным элементом массива вставить элемент с нулевым значением
Дан массив размера N. Перед каждым положительным элементом массива вставить элемент с нулевым...

(с#) Найти минимальный элемент в стеке и вставить перед ним 0.
Необходимо найти минимальный элемент в стеке и вставить ноль перед ним. Вот как получилось...

Вставить в массив элемент перед первым элементом с максимальным значением и после первого элемента минимальным значением
Кто разбирается в С#? Можете написать код Вставить в массив элемент с заданным значением перед...

Перед элементами массива, принадлежащими интервалу [х, у], вставить максимальный нечетный элемент исходного массива
Помогите решить задачу через процедуры. Дан одномерный массив размерностью N.Перед элементами,...

3
11 / 11 / 7
Регистрация: 24.04.2017
Сообщений: 35
Записей в блоге: 5
15.11.2017, 21:46 2
Используй массив List, и его метод Insert(index, item);
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
List<int> a = new List<int>();
            Random ran = new Random();
            Console.WriteLine("Весь массив: ");
            for (int i = 0; i < 10; i++)
            {
                a.Add(ran.Next(-15, 30));
                Console.Write("{0}\t", a[i]);
            }
            Console.WriteLine("\n");
 
            int min = a[0];
            int max = a[0];
 
            foreach (int el in a)
            {
                if (el < min)
                {
                    min = el;
                }
                if (max < el)
                {
                    max = el;
                }
            }
 
            Console.WriteLine("Минимальное значение {0}; Максимальное значение {1}", min, max);
 
            for (int i = 0; i < a.Count; i++)
                if (i / 2f == i / 2)
                    a.Insert(i, min);
 
            Console.WriteLine("Весь массив: ");
            for (int i = 0; i < a.Count; i++)
                Console.WriteLine(a[i]);
            
 
            Console.ReadKey();
0
0 / 0 / 0
Регистрация: 17.10.2016
Сообщений: 3
15.11.2017, 22:10  [ТС] 3
Благодарствую.
Но только сейчас заметил ошибку. Не дописал суть задачи. Минимальное значение должно вставляться лишь перед каждым максимальным. В скриншоте максимальным является 29. И нужно только перед этим числом.
Миниатюры
Вставить минимальный элемент массива перед каждым максимальным  
0
11 / 11 / 7
Регистрация: 24.04.2017
Сообщений: 35
Записей в блоге: 5
15.11.2017, 22:21 4
Лучший ответ Сообщение было отмечено Sui как решение

Решение

тогда вот

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
            List<int> a = new List<int>();
            Random ran = new Random();
            Console.WriteLine("Весь массив: ");
            for (int i = 0; i < 10; i++)
            {
                a.Add(ran.Next(-15, 30));
                Console.Write("{0}\t", a[i]);
            }
            Console.WriteLine("\n");
            int min = a[0];
            int max = a[0];
            int k = 0;
            for (int i = 0; i < a.Count; i++)
            {
                if (a[i] > max)
                {
                    max = a[i];
                    k = i;
                }
                if (a[i] < min) min = a[i];
            }
            Console.WriteLine("Минимальное значение {0}; Максимальное значение {1}", min, max);
            a.Insert(k, min);
            Console.WriteLine("Весь массив: ");
            for (int i = 0; i < a.Count; i++)
                Console.WriteLine(a[i]);
            Console.ReadKey();
1
15.11.2017, 22:21
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.11.2017, 22:21
Помогаю со студенческими работами здесь

Вставить элемент с нулевым значением перед минимальным и после максимального элемента массива
Дан массив размера N . Вставить элемент с нулевым значением перед минимальным и после максимального...

Дан символ C и строки S, S0. Перед каждым вхождением символа C в строку S вставить строку S0
Дан символ C и строки S, S0. Перед каждым вхождением символа C в строку S вставить строку S0.

Вставить в список L новый элемент E1 за каждым вхождением заданного элемента E
Помоги те пожалуйста дополнить программу, ( Вставить в список L новый элемент E1 за каждым...

Вставить в список L новый элемент E1 за каждым вхождением заданного элемента E
Помогите написать эту часть программы(Вставить в список L новый элемент E1 за каждым вхождением...


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

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

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