![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Guest |
|
|||
|
Unregistered |
Необходимо сделать так, чтобы в файл писались сперва поля scaner[i].mode, которые начинаются с заглавной буквы, а потом со строчной. Как? |
|||
|
||||
| Chaos A.D. |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 172 Регистрация: 16.1.2005 Где: 09 RUS Репутация: 6 Всего: 7 |
А есть ограничения на применение потокового ввода-вывода или алгоритмов STL? Просто, как то непривычно смотрится использование cout-а вместе с FILE* и fwrite. А вообще, кажется, можно заюзать partial_sort или stable_sort, в зависимости от того, должны ли сохранять свой порядок сканеры с одинаковым регистром первых букв. Хотя под рукой нет ничего такого, куда бы можно было бы заглянуть в поисках точной инфы об этих алгоритмах, так что может они чем-то и не подойдут.
--------------------
Надо смеяться над тем, что тебя мучит, иначе не сохранишь равновесия, иначе мир сведет тебя с ума...Ken Kesey - One Flew Over The Cocoo's Nest |
|||
|
||||
| Exekutor |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 440 Регистрация: 1.11.2005 Где: Казахстан. Костан ай Репутация: 1 Всего: 4 |
Мне кажется, что можно сделать так: пусть у тебя будут два цикла пусть первый пробегает по полям структуры, и проверяет - принадлежит ли скан код первого символа множеству с - по (ведь скан коды заглавных букв упорядочены) и записывает если принадлежит. Второй цикл записывает все остальные. Алгоритм не самый совершенный но ничего умнее придумать сходу не могу
-------------------- [color=blue][size=2]En taro addun, ma sol larinas[/size][/color] |
|||
|
||||
| Chaos A.D. |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 172 Регистрация: 16.1.2005 Где: 09 RUS Репутация: 6 Всего: 7 |
Похоже, автор темы на неё забил.
--------------------
Надо смеяться над тем, что тебя мучит, иначе не сохранишь равновесия, иначе мир сведет тебя с ума...Ken Kesey - One Flew Over The Cocoo's Nest |
|||
|
||||
| Guest |
|
|||
|
Unregistered |
Chaos A.D. совсем не забил, зря так говоришь, если ты создаешь тему, а потом ее не посещешь, то это бессмысленно. Chaos A.D. а то что ты писал, я чего-то не воткнул
|
|||
|
||||
| Chaos A.D. |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 172 Регистрация: 16.1.2005 Где: 09 RUS Репутация: 6 Всего: 7 |
Я хотел сказать - можно просто отсортировать вектор твоих сканнеров так, чтобы их название приводилось к какому-то одному регистру при сортировке. Не тронутой мы оставляли бы только первую букву. То есть не меняли бы ей регистра. Потом, сортируем вектор с таким критерием сравнения, который я только что описал. И выводим. Сделать это удобнее всего написав функтор, и заюзав его со стандартным алгоритмом sort из STL.
У Exekutor-а подход попроще. Но он, по-моему, более удобный, чем мой. Если тебе нужно вывести все сканнеры, и выйти, то это то, что нужно. Это сообщение отредактировал(а) Chaos A.D. - 15.11.2005, 10:44 --------------------
Надо смеяться над тем, что тебя мучит, иначе не сохранишь равновесия, иначе мир сведет тебя с ума...Ken Kesey - One Flew Over The Cocoo's Nest |
|||
|
||||
| Doc_d0s |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 206 Регистрация: 15.12.2004 Где: в кресле Репутация: 2 Всего: 3 |
создай список, с указателями на эти все mode отсортируй его и согласно указателям пиши
насколько я знаю заглавные буквы раньше чем строчные => список сортировать по убыванию(не возрастанию) --------------------
Админ- это вождь Apache'й :) |
|||
|
||||
| Guest |
|
|||
|
Unregistered |
Doc_d0s с указателями у меня большие проблемы
|
|||
|
||||
| Chaos A.D. |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 172 Регистрация: 16.1.2005 Где: 09 RUS Репутация: 6 Всего: 7 |
А, начинающий... Просто сделай своему массиву std::sort с предикатом, который сравнивает scan_info по именам.
--------------------
Надо смеяться над тем, что тебя мучит, иначе не сохранишь равновесия, иначе мир сведет тебя с ума...Ken Kesey - One Flew Over The Cocoo's Nest |
||||
|
|||||
| Guest |
|
|||
|
Unregistered |
Все большое спасибо за ответы!!!
|
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |