Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
1 / 1 / 0
Регистрация: 06.06.2009
Сообщений: 35
1

3 минимальных елемента

20.07.2009, 15:12. Просмотров 1231. Ответов 16
Метки нет (Все метки)

Привет, дан масив чисел мне нужно найти 3 самых малых елемента. Подскажыте алгоритм
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.07.2009, 15:12
Ответы с готовыми решениями:

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

Найти два минимальных елемента последовательности и перемножить их
Только начали изучать ассемблерную вставку в С++....первую лабу я кое-как сам сделал (там...

Вычислить величину Z, которая равняется сумме минимальных элементов массивов, разделенной на двойное произведение индексов минимальных элементов
Заданы два массива - Х(10) и Y(12). Вычислить величину Z, которая равняется сумме минимальных...

Название елемента
Интересует что за елемент(объект)на рисунке отображает цвет... в своей проге создал...

16
Эксперт JavaЭксперт С++
8358 / 3579 / 419
Регистрация: 03.07.2009
Сообщений: 10,708
20.07.2009, 15:18 2
задаеш второй массив(минимальных элементов) из 3 элементов. Заносиш туда первых три элемента твоего массива в порядке возрастания. идеш дальше по своему массиву и сравниваеш сначала с третьим(максимальным из минимальных) элементом твоего массива минимальных элементов. Если он больше чем элемент из этот третий элемент то идеш дальше. Если встретился элемент меньше твоего максимального, то справа на лево проходиш свой массив и вставляеш его в подходящее место(естественно все элементы которые справа от него(больше) сдвигаеш вправо(самый правый элемент теряется))
0
Эксперт С++
7171 / 3229 / 77
Регистрация: 17.06.2009
Сообщений: 14,166
20.07.2009, 15:19 3
Заводим массив A на 3 числа.
Вначале он пустой.
В этом массиве будет 3 самых малых элемента, упорядоченные по возрастанию.

Потом цикл по массиву исходных чисел S.
Берем число и вставляем его в массив A, так что бы сохранилась упорядоченность.
Если нужно - сдвигаем элементы.

В конец печатаем содержимое массива A.
0
1 / 1 / 0
Регистрация: 06.06.2009
Сообщений: 35
20.07.2009, 15:29  [ТС] 4
Благодарю за ответ
0
MCSD: APP BUILDER
8787 / 1065 / 104
Регистрация: 17.06.2006
Сообщений: 12,604
20.07.2009, 15:33 5
сортируешь массив, берешь первые три элемента.
1
587 / 354 / 15
Регистрация: 06.02.2009
Сообщений: 1,386
20.07.2009, 15:48 6
Цитата Сообщение от Rififi Посмотреть сообщение
сортируешь массив, берешь первые три элемента.
Супер !!! Rififi, ты гений.
0
Эксперт JavaЭксперт С++
8358 / 3579 / 419
Регистрация: 03.07.2009
Сообщений: 10,708
20.07.2009, 16:00 7
Rififi, точно! Наверно пора мне завязывать с написанием велосипедов
0
Эксперт С++
7171 / 3229 / 77
Регистрация: 17.06.2009
Сообщений: 14,166
20.07.2009, 16:01 8
сортируешь массив, берешь первые три элемента.
Мне такая мысль тоже приходила.
Но если это задача, данная преподавателем, то такое решение скорее всего не прокатит.
Если это реальная задача с кучей данных, то такое решение может оказаться более накладным.
0
587 / 354 / 15
Регистрация: 06.02.2009
Сообщений: 1,386
20.07.2009, 16:05 9
Цитата Сообщение от odip Посмотреть сообщение
Но если это задача, данная преподавателем, то такое решение скорее всего не прокатит.
С чего это вдруг?! Преподы не любят простых и понятных методов? Если это так, то они садисты.
0
Эксперт С++
7171 / 3229 / 77
Регистрация: 17.06.2009
Сообщений: 14,166
20.07.2009, 16:06 10
С чего это вдруг?! Преподы не любят простых и понятных методов? Если это так, то они садисты.
А ты не знал, что среди них встречаются садисты ?

Препод тебе скажет - сделай тоже самое, но без заведения дополнительного массива на N элементов.
0
587 / 354 / 15
Регистрация: 06.02.2009
Сообщений: 1,386
20.07.2009, 16:09 11
Цитата Сообщение от odip Посмотреть сообщение
Препод тебе скажет - сделай тоже самое, но без заведения дополнительного массива на N элементов.
Так стоп. А где это мы заводим дополнительный массив? В алгоритмах M128K145 и odip (то бишь твой) надо заводить массив, а когда мы делаем сортировку, то не надо ничего заводить. Мы просто выводим на экран (или куда там ещё надо) первые три элемента отсортированного массива.
0
Эксперт С++
7171 / 3229 / 77
Регистрация: 17.06.2009
Сообщений: 14,166
20.07.2009, 16:19 12
Если тебе зачем-то понадобится исходный массив зачем-то еще, то сортировать числа прямо в нем нельзя.

Ладно, я неправильно сформулировал.

Нужно так:
Не изменяя исходный массив и не заводя дополнительный массив на N элементов получить 3 минимальных элемента.

Кстати в алгоритме M128K145 есть небольшая ошибка.
В исходном массиве может быть меньше 3-ех элементов
0
Эксперт JavaЭксперт С++
8358 / 3579 / 419
Регистрация: 03.07.2009
Сообщений: 10,708
20.07.2009, 16:31 13
odip, Возможно ты и прав, но из задания
нужно найти 3 самых малых елемента
следует, что их как минимум 3
0
Эксперт С++
7171 / 3229 / 77
Регистрация: 17.06.2009
Сообщений: 14,166
21.07.2009, 13:12 14
2Wolandello: Ты получил нужный тебе алгоритм ?
0
2920 / 841 / 324
Регистрация: 30.04.2009
Сообщений: 2,633
21.07.2009, 13:20 15
Цитата Сообщение от M128K145 Посмотреть сообщение
задаеш второй массив(минимальных элементов) из 3 элементов.
а нельзя ли просто взять три переменных min1,min2,min3
0
2806 / 1396 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
21.07.2009, 13:27 16
odip, а сделаешь путем занисения элементов в массив из 3 элементов, препод скажет сделай мне другим вариантом, который на этот не похож...

Преподы часто любят так делать, дабы убедиться, что человек сам решал данную задачу. И вообще... странно как-то... Сессия уже давно закончилась..какая учеба? Оо
0
Эксперт С++
7171 / 3229 / 77
Регистрация: 17.06.2009
Сообщений: 14,166
21.07.2009, 15:45 17
а нельзя ли просто взять три переменных min1,min2,min3
Можно и так.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.07.2009, 15:45

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

Нахождение максимального елемента..
Есть задача: дан массив(одномерный,кол-во елементов рендомное) из натуральных елементов,...

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

Перемещение елемента массива
я создал двумерный массив и нарисовал ним текстовое поле примерно такое |---------| |---------|...

Удаление елемента из char массива.
Здрасте. Есть база данных. я хочу сделать чтоб елементы базы можно было удалять. каждый ел базы эт...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.