![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 14.11.2012
Сообщений: 31
|
![]()
Здравствуйте, нужна помощь в решении задачи.
Дан текстовый файл с данными о посылках: город, улица, дом, квартира, фамилия ценность. Вывести на экран сведения о посылках. Вывести в текстовые файлы списки посылок по городам. P.S. Нужна помощь именно с распределением одинаковых городов по файлам, т.е. как сделать, чтобы одинаковые города находились в разных файлах, сам цикл с этим сравнением.. Не обязательно весь код, хотя бы подсказку или ту часть, в которой будут определяться одинаковые города и их запись. Спасибо заранее. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
всё зависит от множества мелких, конкретных деталей.
Например, очень важной деталью является КОЛИЧЕСТВО записей о посылках. Если количество записей позволяет разместить их в памяти, тогда, один из возможных способов решения: читаем текстовый файл в память (либо в массив записей, либо в дин.структуру). сортируем записи по городам. Берём город из первой записи отсортированного списка в переменную CurrentCity. Пишем в файл "город" == CurrentCity, в цикле читаем и выводим записи, пока город записи равен CurrentCity. Как только город изменился, новый город в переменную CurrentCity и повторяем цикл. всё. p.s. если сортировать записи не желательно, то можно и без сортировки обойтись. Алгоритм тоже простой, просто менее эффективен.. p.p.s. чем больше вашего кода на форуме, тем больше конкретных ответов Вы получите... |
![]() |
![]() |
![]() |
#3 | |
Пользователь
Регистрация: 14.11.2012
Сообщений: 31
|
![]() Цитата:
К примеру: есть текстовый файл, в 1 строке содержится информация об 1 посылке. Можно взять строковую переменную и выделить под неё к примеру 10 символов, это будет название города, все, что нужно - сделать их запись файл, чтобы одинаковые города были в одинаковых файлах. |
|
![]() |
![]() |
![]() |
#4 |
Made In USSR!
Старожил
Регистрация: 01.09.2010
Сообщений: 3,657
|
![]() Код:
Код:
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой" Последний раз редактировалось Mad_Cat; 10.03.2013 в 21:30. |
![]() |
![]() |
![]() |
#5 | |
Пользователь
Регистрация: 14.11.2012
Сообщений: 31
|
![]()
Вот код, без основного алгоритма, идеи были, но все упиралось в то, что всегда указывается конкретное имя файла и не получается написать условие, для распределения всех городов.
Код:
Цитата:
К примеру: город улица дом квартира фамилия ценность город2 улица2 дом2 квартира2 фамилия2 ценность2 город улица3 дом3 квартира3 фамилия3 ценность3 город4 улица4 дом4 квартира4 фамилия4 ценность4 город2 улица5 дом5 квартира5 фамилия5 ценность5 У меня должно получится 3 файла - Город, Город2 и Город4, либо 5 файлов, если я не так понял условие >_< При том в вашем коде запись идет в тот же файл, из которого считывается информация, и будет ли создаваться новый файл, после того как все поля записи с индексом 1 будут записаны? Последний раз редактировалось Stilet; 11.03.2013 в 09:23. |
|
![]() |
![]() |
![]() |
#6 | ||
Made In USSR!
Старожил
Регистрация: 01.09.2010
Сообщений: 3,657
|
![]() Цитата:
Цитата:
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой" |
||
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 14.11.2012
Сообщений: 31
|
![]()
Т.е. при существовании файла с таким же именем, вместо создания нового запись идет в тот же?
И еще 1 вопрос, ваш код: Код:
Код:
![]() P.S. Большое спасибо за код ^^ |
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
да, совершенно верно, можно и так поступить!
Единственно, что текстовый файл на дозапись нужно открывать процедурой Код:
H4t, какой у Вас Паскаль? |
![]() |
![]() |
![]() |
#9 | |
Made In USSR!
Старожил
Регистрация: 01.09.2010
Сообщений: 3,657
|
![]() Цитата:
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой" |
|
![]() |
![]() |
![]() |
#10 | |
Пользователь
Регистрация: 14.11.2012
Сообщений: 31
|
![]() Цитата:
да, не заметил, что это просто открытие по чтению, мне нужно добавить просто считывание строки? Последний раз редактировалось Stilet; 11.03.2013 в 09:19. |
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Работа с нетипизированными указателями/файлами | Christor | Общие вопросы C/C++ | 8 | 09.07.2012 16:50 |
Delphi. Динамический массив при работе с нетипизированными файлами | Arrow_S | Помощь студентам | 10 | 06.04.2012 22:19 |
работа с файлами (pascal) | zenid | Помощь студентам | 1 | 26.12.2011 16:18 |
Pascal/ работа с файлами | V@dlo | Помощь студентам | 1 | 14.11.2009 19:55 |
Работа с нетипизированными файлами | JustKurt | Общие вопросы Delphi | 4 | 18.07.2009 10:46 |