Форум программистов, компьютерный форум 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++
Пишу игру: морской бой. Он естественно консольный, но чтобы хоть как-то приукрасить игру хотелось бы знать, как можно изменить цвет текста, бекграунда, перемещать курсор ввода. Смог найти только несколько таких команд: system("cls"); //очистка всей консоли system("mode con cols=70 lines=30"); //установка количества столбцов и строк setlocale(LC_CTYPE,"Russian"); //установить язык консоли...
написать программу произведение всех натуральных чисел от 10 до 20 C++
"написать программу произведение всех натуральных чисел от 10 до 20" Надо сегодня!!!! А да Только мне желательно написать как писать в GambasE. Но можно и в бэйсике
C++ Умножение матриц http://www.cyberforum.ru/cpp-beginners/thread273747.html
Плиз помогите с написанием программы умножения матриц, дело в том что матрица задана линейным массивом, вот что у меня получилось void multiplication(double *first, double *second, double *result, int n) // 13:49 09.04.2011 прошёл все тесты { int i,j,l,k; for (i=0; i<n*n; i+=n) { for (k=0; k<n; k++) { result=0;
C++ Если введено слово "Привет", то вывести "Привет" Как сделать чтобы если введено слово Привет то отвечает Привет !!! подробнее

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

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

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

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