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

Найти значение 3-го по величине элемента и значение всех элементов массива, которые его превышают, заменить на найденное значение - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Подсчитать количесво пропичных букв. http://www.cyberforum.ru/cpp-beginners/thread273795.html
Как подсчитать количество прописных букв в С++:appwizzard?
C++ использование цвета текста в borlande вопрос думаю простой, но информации не нашла. чтобы задать цвет вывода используется textcolor мне надо чтобы текст не печатался новым цветом, а определенная строка меняла цвет после нажатия... http://www.cyberforum.ru/cpp-beginners/thread273782.html
Дополнительные функции для работы консолькой C++
Пишу игру: морской бой. Он естественно консольный, но чтобы хоть как-то приукрасить игру хотелось бы знать, как можно изменить цвет текста, бекграунда, перемещать курсор ввода. Смог найти только...
написать программу произведение всех натуральных чисел от 10 до 20 C++
"написать программу произведение всех натуральных чисел от 10 до 20" Надо сегодня!!!! А да Только мне желательно написать как писать в GambasE. Но можно и в бэйсике
C++ Умножение матриц http://www.cyberforum.ru/cpp-beginners/thread273747.html
Плиз помогите с написанием программы умножения матриц, дело в том что матрица задана линейным массивом, вот что у меня получилось void multiplication(double *first, double *second, double *result,...
C++ Если введено слово "Привет", то вывести "Привет" Как сделать чтобы если введено слово Привет то отвечает Привет !!! подробнее

Показать сообщение отдельно
popov654
32 / 32 / 2
Регистрация: 09.04.2011
Сообщений: 119
13.04.2011, 23:13
Не, ну Вы даёте...
Та же самая проблема! Ну кто Вам сказал, что третий элемент после сортировки - третий по величине?
Да, и вот спрашивающий не сказал, код нужен на C или C++. C++ я не очень знаю, поэтому могу только на C решение написать...
Но логику-то это не меняет! В общем, код на русском, словами :
Сортируем массив, заводим счётчик, ставим в 1. Заводим две переменных, в одной храним текущее значение, в другой - предыдущее. Присваиваем второй последний элемент сортированного массива, а первой - предпоследний. Далее проверяем переменные на неравенство, если они не равны увеличиваем счётчик, если счётчик стал равен 2, выходим из цикла; "сдвигаем" наши переменные на один индекс назад. Далее идём по массиву обратно до "хвоста" и заменяем все элементы на значение, хранящееся в первой из двух переменных. ВСЁ.

Можно вообще без сортировки сделать, тогда если немного исхитриться и написать побольше кода, можно вообще всё за два прохода сделать: за первый найти третий по величине, за второй - позаменять всё что надо.

Добавлено через 38 секунд
Rexer Не за что

Добавлено через 2 минуты
А, ну да, конечно j, прошу прощения. Я просто привык, что i внешняя и не заметил, что у Вас наоборот)
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru