|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
29.11.2012, 15:31 | #1 |
Пользователь
Регистрация: 29.11.2012
Сообщений: 33
|
Работа с записями
Помогите с задачей в паскале, или дайте пример решения, суть состоит в том чтобы из текстового файла взять информацию о сотрудниках предприятия за схемой: фамилия имя отчество, фамилия имя отчество... и т.д. и перенести эти данные в другой файл по иной схеме: имя фамилия отчество, имя фамилия отчество... и т.д. Заранее всем благодарен
P.S. как брать данные с файла я знаю) проблема в том как запомнить данные которые я беру, я пытался через массив, но безрезультатно Последний раз редактировалось Falcao; 29.11.2012 в 15:40. |
29.11.2012, 15:49 | #2 | |
Made In USSR!
Старожил
Регистрация: 01.09.2010
Сообщений: 3,657
|
Цитата:
Код:
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой" |
|
29.11.2012, 17:18 | #3 |
Пользователь
Регистрация: 29.11.2012
Сообщений: 33
|
Спасибо, но что такое "pos" и единице перед ним, и S- это строка, как я догадался?
|
03.12.2012, 15:33 | #4 |
Пользователь
Регистрация: 29.11.2012
Сообщений: 33
|
Вот что у меня получилось:
Код:
___________ Код нужно оформлять по правилам: тегом [CODE]..[/СODE] (это кнопочка с решёточкой #) Не забывайте об этом! Модератор. Последний раз редактировалось Serge_Bliznykov; 03.12.2012 в 16:24. |
03.12.2012, 16:30 | #5 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
ваш код должен быть примерно такой:
Код:
<25 символов PR><25 символов NAME><25 символов OTC> никаких лишних пробелов, табуляций и прочего! p.s. Кстати, обычно подобные задачи предполагают использование типизированного(-ых) файла(ов). Вы уверены, что в вашем случае надо использовать два текстовых файла? Последний раз редактировалось Serge_Bliznykov; 03.12.2012 в 23:21. Причина: Исправил опечатку. правильно: WriteLn(f2,name,pr); |
03.12.2012, 16:50 | #6 |
Пользователь
Регистрация: 29.11.2012
Сообщений: 33
|
Спасибо, уверен, задание состоит во взятии информации с первого файла и переносе их в другой файл, ещё одно, у Вас
with aa do begin ReadLn(f1,pr,name,otc); WriteLn(f1,name,pr); end; т.е. без массива можно попытаться?+ во WriteLn(F2...) стоять должно?. Вот я немного упростил, ради основы: Код:
Здесь все работает, но в предыдущем ошибка, как вы и говорили, вот в чем: <25 символов PR><25 символов NAME><25 символов OTC> , но как считать данные, ведь таких фамилий в файле может быть сотни, а для каждой высчитывать... Сейчас попытаюсь переделать с Вашей подсказкой |
03.12.2012, 23:35 | #7 | |||
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
Разумеется, должно читаться из одного файла (f1), выводится в другой (f2)! Цитата:
Зачем Вам массив? Чтобы увеличить занимаемый программой объём данных, ввести ограничение не более 100 строчек (записей) во входном файле, ухудшить быстродействие (правда, последнее, насчёт быстродействия весьма символически, но всё же...) Пишите без массива там, где в нём нет острой необходимости! Цитата:
Если вкратце, то принцип такой. одной командой считывайте полностью всю строку из текстового файла в переменную типа String после чего, разбираете (или, это программисты называют "parse" - парсите) строку на нужные элементы (Вам нужно чётно и однозначно определить, каким образом в файле фамилия отделяется от имени, а имя отделяется от отчества. например, допустим, они отделяются пробелами. тогда можно написать так: Код:
|
|||
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Работа с записями. | dima-intro | Помощь студентам | 5 | 30.12.2010 10:01 |
Работа с записями | dima-intro | Помощь студентам | 1 | 26.12.2010 13:43 |
Работа с записями | Intersap | Помощь студентам | 0 | 20.11.2010 18:01 |
работа с записями | wawan93 | Microsoft Office Word | 0 | 26.06.2009 14:48 |
Работа с записями | Viata | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 24.06.2009 09:03 |