|
14 / 14 / 0
Регистрация: 01.12.2017
Сообщений: 577
|
|
Выполнить сортировку элементов последовательности по возрастанию06.03.2018, 19:54. Показов 2535. Ответов 37
Метки нет (Все метки)
Дано натуральное число N и одномерный массив A1, A2, ..., AN символьных элементов. Выполнить сортировку элементов последовательности по возрастанию.
Если нужно выполнить сортировку, то символы массива - числа, я правильно понимаю?
0
|
|
| 06.03.2018, 19:54 | |
|
Ответы с готовыми решениями:
37
|
|
Форумчанин
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
|
|
| 19.03.2018, 13:02 | |
|
0
|
|
| 19.03.2018, 14:26 | |
|
1251 - 2 байта, а не один, а значит многобайтная, напрямую в wchar_t не закинуть, т.к. wchar_t подразумевает utf-16 или utf-32(в зависимости от реализации), но не мелкософтовый cp1251 (именно поэтому они сделали MultiByteToWideChar() - перекидывают свою cp1251(или что там, в зависимости от локали) в utf-fixed_size (utf-8 не фиксирован, может быть разной длины))
0
|
|
|
|
|||
| 19.03.2018, 14:36 | |||
|
0
|
|||
| 19.03.2018, 15:32 | ||
|
0
|
||
|
14 / 14 / 0
Регистрация: 01.12.2017
Сообщений: 577
|
|
| 19.03.2018, 16:11 [ТС] | |
|
Много заумных фраз и определений для начинающего. Я так и не понял что делать с моим кодом. Понятно дело, что нужно сортировать как unsigned char, но как это реализовать? Наброски есть(выше кидал).
0
|
|
| 19.03.2018, 16:23 | |
|
Для большинства простых сортировок необходимо 2 цикла, а не один: http://algolist.manual.ru/sort/bubble_sort.php
0
|
|
|
5120 / 4574 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
|
||||||
| 19.03.2018, 16:43 | ||||||
|
Teylor, я бы Ваш код подправил следующим образом:
0
|
||||||
|
14 / 14 / 0
Регистрация: 01.12.2017
Сообщений: 577
|
|
| 19.03.2018, 20:27 [ТС] | |
|
liv, нужно с указателями и динамическим массивом.
0
|
|
|
5120 / 4574 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
|
|
| 19.03.2018, 20:34 | |
|
Teylor, ну сделайте с указателями и динамическим массивом... Что мешает?
Сделайте, покажите, мы подправим, если что. Кстати, в условии об этом не сказано ни слова...
0
|
|
|
14 / 14 / 0
Регистрация: 01.12.2017
Сообщений: 577
|
||||||
| 19.03.2018, 20:40 [ТС] | ||||||
|
liv, уточняю в чем проблема: в уже отсортированном массиве выводит те же символы, что и до якобы сортировки. Нужно символы типа unsigned char преобразовать ascii коды и уже их сравнивать, верно? но как преобразовать unsigned char в ascii? На всякий случай, скину еще раз то, что есть.
0
|
||||||
|
5120 / 4574 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
|
|
| 19.03.2018, 20:45 | |
|
Посмотрите, как у меня сделана сортировка (в два цикла).
Творчески переработайте. У себя посмотрите, зачем Вам массив bufMassiv? Добавлено через 1 минуту И ничего не надо преобразовывать. Просто берете элементы массива и сравниваете...
0
|
|
|
14 / 14 / 0
Регистрация: 01.12.2017
Сообщений: 577
|
||||||
| 20.03.2018, 17:08 [ТС] | ||||||
|
Вроде все уладил, кроме сортировки(переделанной), но теперь один символ как будто вылетает, т.к. вывод абсолютно не его. Почему так?
0
|
||||||
|
14 / 14 / 0
Регистрация: 01.12.2017
Сообщений: 577
|
||
| 20.03.2018, 17:34 [ТС] | ||
|
drfaust, если убрать *, то компилятор ругается, т.к. не int. Если убрать
0
|
||
| 20.03.2018, 17:56 | |||||||||||
Сообщение было отмечено Teylor как решение
Решение
Просто надо вычищать символьный буффер:
0
|
|||||||||||
|
14 / 14 / 0
Регистрация: 01.12.2017
Сообщений: 577
|
|
| 20.03.2018, 18:47 [ТС] | |
|
drfaust, а с какой целью его нужно вычищать?
0
|
|
| 20.03.2018, 21:07 | |
|
Потому что там висит "\r\n" (для DOS) или "\n"(для linux), которые были нажаты ранее (на scanf(размер массива) или что-то ещё), вот getchar его и ловит - для человека получается, что вводим не то что хотим. Если без него можно ввести сразу "10asdfghjkl; Enter" - тогда отработает нормально и без очистки буфера (10 возбмёт scanf, остальные символы getchar), но что если мы введём "10 0987654321"(без пробела) - тогда сканф попытается считать все цифры, что влезут в переменную(для long int вроде все втиснуться)
Добавлено через 2 минуты Методов море, но большинство работает в той или иной среде(что работает под виндой - fflush(stdin) может не работать под линухой). У этого метода тоже есть недостатки, если я хочу ввести символы подряд(без Ентер`ов между ними - он считает только первый символ - остальные "зачистит" цикл_getchar)
1
|
|
|
14 / 14 / 0
Регистрация: 01.12.2017
Сообщений: 577
|
||||||
| 20.03.2018, 22:37 [ТС] | ||||||
|
Спасибо всем, кто помогал.
Вот код рабочей проги, может кому-то пригодится
0
|
||||||
| 20.03.2018, 22:37 | |
|
Помогаю со студенческими работами здесь
38
Выполнить сортировку элементов главной диагонали массива по возрастанию и убыванию Выполнить сортировку элементов массива по возрастанию. Вывести новый массив на печать
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
20. Мат мед. Абсентеизм как отдельный тип простоя
anaschu 29.05.2026
Апдейт модели: исправленные баги, абсентеизм и новые механизмы
Продолжаю развивать ранее описанную модель рабочего коллектива на AnyLogic. За последние несколько дней был проведён серьёзный. . .
|
19. здоровье, усталость и психотип работника влияют на производительность предприятия, и наоборот, производительность на здоровье, усталось и психотип
anaschu 28.05.2026
Дискретно-событийная модель рабочего коллектива на AnyLogic: здоровье, выгорание, психотипы и микростимуляция
Привет, коллеги. Хочу поделиться итогами нескольких недель работы над симуляционной. . .
|
"Прокси" для последовательного порта
Eddy_Em 28.05.2026
Эту штуку написал я достаточно давно. Но сейчас вот понадобилось настроить датчик грозы, но при этом не отключать его от "метеодемона". Соответственно, надо запустить этот "прокси": метеодемон будет. . .
|
Рефакторинг программы уравнивания.
Massaraksh7 26.05.2026
Пример по предыдущей записи в блоге. Но, надо заметить, что, во-первых, там оптимизация не только математики, но и работы с базой данных, и с графами, а во-вторых, это ещё не всё.
|
|
Использование TThread в Lazarus для математических вычислений.
Massaraksh7 25.05.2026
Производя рефакторинг своих программ на предмет ускорения их работы, обратил внимание на такой аспект, как сокращение времени матвычислений. Дело в том, что приходится работать с большими матрицами. . .
|
Модель здравосохранения 18. Чем здоровее работник, тем быстрее выгорает
anaschu 24.05.2026
Имитационная модель корпоративного здравоохранения: что показывает математика
Сегодня в модели рабочего коллектива на AnyLogic появились три новые механики — выгорание через накопленную усталость,. . .
|
Модель здравосохранения 17. Планы на выгорание
anaschu 23.05.2026
Вот конкретная схема реализации:
В классе Работник добавить:
накопленнаяУсталость — растёт каждый час работы, снижается в перерывы и болезни
коэффициентПрезентеизма — снижает продуктивность. . .
|
Изменение цветов в палитре gif файла aka фавикона
russiannick 23.05.2026
Изменение цветов в палитре gif файла, юзаемого как фавиконка в составе html-файла, помещенная в base64, средствами нативного Java Script, навеянное сном в майский день.
Для работы необходим браузер,. . .
|