![]() |
|
Модераторы: bsa |
![]()
|
|
| 1122 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 109 Регистрация: 24.10.2007 Репутация: -1 Всего: нет |
Здравствуйте. Помогите разобраться.
Есть текстовой вайл, в котором хранятся 10 лучших результатов соревнований в формате: имя результат (например: Ira 120\nVasya 100\nPetya 85\n и т.д.) У меня вопрос. Как правильно считать эти результаты в массив структур, так чтобы в каждом поле была нужная информация без лишних символов. чтобы при printf("%s %d", &results[0].name, &result[0].time); выводилось "Ira 120"? А если изначально результаты не отсортированы по возростанию, то как их упорядочить? Алгоритм понятен: Считываем результаты в массив структур, сортируем по возростанию этот массив, назад записываем в файл, а вот как эти структуры отсортировать? Заранее спасибо. Это сообщение отредактировал(а) 1122 - 27.4.2008, 01:13 |
|||
|
||||
| JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 6 Всего: 162 |
fscanf тебе поможет
|
|||
|
||||
| 1122 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 109 Регистрация: 24.10.2007 Репутация: -1 Всего: нет |
Т.е. если я буду считывать из файла например так:
то из текстового файла вида: Ira 100\nPetya 200\nVanya 90\n... Я получу массив с элементами 100 200 90..., а не ASCII-коды символов латинского алфавита, пробелов и знаков конца строки???? Допустим.... хотя что-то мне так не кажется (сейчас к сожалению нету возможности проверить, но раньше я эксперементировал со fscanf'ом и результата нужного не добился... может что не так делал?). А как тогда отсортировать эту структуру по возростанию\убыванию? Это сообщение отредактировал(а) 1122 - 27.4.2008, 17:53 |
|||
|
||||
| JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 6 Всего: 162 |
Когда кажется, читай документацию. Алгоритмом сортировки. Это сообщение отредактировал(а) JackYF - 27.4.2008, 19:41 |
|||
|
||||
| 1122 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 109 Регистрация: 24.10.2007 Репутация: -1 Всего: нет |
А структуру можно так же сортировать, как, скажем, массив типа инт, например, методом пузырька?
И как это будет выглядить? |
|||
|
||||
| mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 19 Всего: 306 |
Имхо массив это массив, структура эти пользовательский тип данных. Тут видимо правильно говорить о массиве структур.
|
|||
|
||||
| opjox |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 90 Регистрация: 17.1.2008 Репутация: 2 Всего: 14 |
В смысле массив структур? Если да, то: Да. Единственное, что потребуется добавить это функцию для сравнения двух структур или переопределить оператор сравнения для структуры данного типа. Все остальное тоже самое. Хотя есть одно «но». Если структура много «весит», то следует реализовать сортировку без постоянного перемещения, а провести только одно перемещение (копирование) по окончанию сортировки. |
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |