Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
Wolandello
1 / 1 / 0
Регистрация: 06.06.2009
Сообщений: 35
#1

3 минимальных елемента - C++

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

Привет, дан масив чисел мне нужно найти 3 самых малых елемента. Подскажыте алгоритм
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.07.2009, 15:12     3 минимальных елемента
Посмотрите здесь:

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

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

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

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

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

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

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
M128K145
Эксперт С++
8283 / 3502 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
20.07.2009, 15:18     3 минимальных елемента #2
задаеш второй массив(минимальных элементов) из 3 элементов. Заносиш туда первых три элемента твоего массива в порядке возрастания. идеш дальше по своему массиву и сравниваеш сначала с третьим(максимальным из минимальных) элементом твоего массива минимальных элементов. Если он больше чем элемент из этот третий элемент то идеш дальше. Если встретился элемент меньше твоего максимального, то справа на лево проходиш свой массив и вставляеш его в подходящее место(естественно все элементы которые справа от него(больше) сдвигаеш вправо(самый правый элемент теряется))
odip
Эксперт С++
7155 / 3295 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
20.07.2009, 15:19     3 минимальных елемента #3
Заводим массив A на 3 числа.
Вначале он пустой.
В этом массиве будет 3 самых малых элемента, упорядоченные по возрастанию.

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

В конец печатаем содержимое массива A.
Wolandello
1 / 1 / 0
Регистрация: 06.06.2009
Сообщений: 35
20.07.2009, 15:29  [ТС]     3 минимальных елемента #4
Благодарю за ответ
Rififi
2338 / 1053 / 44
Регистрация: 03.05.2009
Сообщений: 2,656
20.07.2009, 15:33     3 минимальных елемента #5
сортируешь массив, берешь первые три элемента.
RazorQ
576 / 343 / 9
Регистрация: 06.02.2009
Сообщений: 1,386
20.07.2009, 15:48     3 минимальных елемента #6
Цитата Сообщение от Rififi Посмотреть сообщение
сортируешь массив, берешь первые три элемента.
Супер !!! Rififi, ты гений.
M128K145
Эксперт С++
8283 / 3502 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
20.07.2009, 16:00     3 минимальных елемента #7
Rififi, точно! Наверно пора мне завязывать с написанием велосипедов
odip
Эксперт С++
7155 / 3295 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
20.07.2009, 16:01     3 минимальных елемента #8
сортируешь массив, берешь первые три элемента.
Мне такая мысль тоже приходила.
Но если это задача, данная преподавателем, то такое решение скорее всего не прокатит.
Если это реальная задача с кучей данных, то такое решение может оказаться более накладным.
RazorQ
576 / 343 / 9
Регистрация: 06.02.2009
Сообщений: 1,386
20.07.2009, 16:05     3 минимальных елемента #9
Цитата Сообщение от odip Посмотреть сообщение
Но если это задача, данная преподавателем, то такое решение скорее всего не прокатит.
С чего это вдруг?! Преподы не любят простых и понятных методов? Если это так, то они садисты.
odip
Эксперт С++
7155 / 3295 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
20.07.2009, 16:06     3 минимальных елемента #10
С чего это вдруг?! Преподы не любят простых и понятных методов? Если это так, то они садисты.
А ты не знал, что среди них встречаются садисты ?

Препод тебе скажет - сделай тоже самое, но без заведения дополнительного массива на N элементов.
RazorQ
576 / 343 / 9
Регистрация: 06.02.2009
Сообщений: 1,386
20.07.2009, 16:09     3 минимальных елемента #11
Цитата Сообщение от odip Посмотреть сообщение
Препод тебе скажет - сделай тоже самое, но без заведения дополнительного массива на N элементов.
Так стоп. А где это мы заводим дополнительный массив? В алгоритмах M128K145 и odip (то бишь твой) надо заводить массив, а когда мы делаем сортировку, то не надо ничего заводить. Мы просто выводим на экран (или куда там ещё надо) первые три элемента отсортированного массива.
odip
Эксперт С++
7155 / 3295 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
20.07.2009, 16:19     3 минимальных елемента #12
Если тебе зачем-то понадобится исходный массив зачем-то еще, то сортировать числа прямо в нем нельзя.

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

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

Кстати в алгоритме M128K145 есть небольшая ошибка.
В исходном массиве может быть меньше 3-ех элементов
M128K145
Эксперт С++
8283 / 3502 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
20.07.2009, 16:31     3 минимальных елемента #13
odip, Возможно ты и прав, но из задания
нужно найти 3 самых малых елемента
следует, что их как минимум 3
odip
Эксперт С++
7155 / 3295 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
21.07.2009, 13:12     3 минимальных елемента #14
2Wolandello: Ты получил нужный тебе алгоритм ?
mamedovvms
2916 / 837 / 93
Регистрация: 30.04.2009
Сообщений: 2,624
21.07.2009, 13:20     3 минимальных елемента #15
Цитата Сообщение от M128K145 Посмотреть сообщение
задаеш второй массив(минимальных элементов) из 3 элементов.
а нельзя ли просто взять три переменных min1,min2,min3
Monte-Cristo
2787 / 1373 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
21.07.2009, 13:27     3 минимальных елемента #16
odip, а сделаешь путем занисения элементов в массив из 3 элементов, препод скажет сделай мне другим вариантом, который на этот не похож...

Преподы часто любят так делать, дабы убедиться, что человек сам решал данную задачу. И вообще... странно как-то... Сессия уже давно закончилась..какая учеба? Оо
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.07.2009, 15:45     3 минимальных елемента
Еще ссылки по теме:

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

c++ stl удаление елемента из list - C++
for(std::list<gun>::iterator iter = Gun.begin(); iter != Gun.end(); iter++) { iter->controle(); if(iter->getlife() == 0) ...

Метод принимающий четыре елемента - C++
Нужно написать метод funCall который будет принимать четыре аргумента 1. указатель на двухмерную таблицу переменных типа int в которой...

Возвращение номера елемента массива - C++
Написать функцию возвращающую ссылку на элемент глобального массива. Подразумевается вывести элемент массива под его номером с помощью...

Перемещение максимального елемента в начало очереди - C++
#include <stdio.h> #include <conio.h> #define LEN 100 int g_count = 0; int* g_v = NULL; void queue(int val) ...


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

Или воспользуйтесь поиском по форуму:
odip
Эксперт С++
7155 / 3295 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
21.07.2009, 15:45     3 минимальных елемента #17
а нельзя ли просто взять три переменных min1,min2,min3
Можно и так.
Yandex
Объявления
21.07.2009, 15:45     3 минимальных елемента
Закрытая тема Создать тему
Опции темы

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