Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.11.2013, 22:33   #1
ZveRtheGameS
Пользователь
 
Регистрация: 12.11.2013
Сообщений: 14
По умолчанию Работа в Pascal с файлами

Доброго вечера программисты! Помогите, пожалуйста, решить данную задачу:
Дан текстовый файл. Переписать в другой файл части строк, начинающихся с последнего слова, которые не содержат цифры.

Буду искренне благодарен! Заранее спасибо за Ваше уделенное время на меня. Если можно, попрошу расписать поподробнее Ваши шаги по написанию алгоритма.
ZveRtheGameS вне форума Ответить с цитированием
Старый 23.11.2013, 22:48   #2
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,865
По умолчанию

Цитата:
Сообщение от ZveRtheGameS Посмотреть сообщение
Если можно, попрошу расписать поподробнее Ваши шаги по написанию алгоритма.
Так ведь просили помочь, а в итоге просите сделать всю работу за вас, разжевать и в рот положить. Такое в разделе Фриланс делается, а тут только помощь.
Arigato вне форума Ответить с цитированием
Старый 23.11.2013, 22:53   #3
ZveRtheGameS
Пользователь
 
Регистрация: 12.11.2013
Сообщений: 14
По умолчанию

Цитата:
Сообщение от Arigato Посмотреть сообщение
Так ведь просили помочь, а в итоге просите сделать всю работу за вас, разжевать и в рот положить. Такое в разделе Фриланс делается, а тут только помощь.
Хорошо, я понял вашу мысль.

Создал типизированный файл, но работоспособность не могу проверить. При записи значении, размер файла не изменяется.

Вот код создания типизированного файла:
Код:
 const n = 4;
         type
         t_subs = record
         surname: string[20];
         stroka: longint;
       end;
     var
     subs: t_subs;
     f: file of t_subs;
     i: integer;
begin
assign (f, 'a.dat');
rewrite(f);
for  i:= 1 to n do
with subs do begin
  write ('vvedite file:= ');
  readln(surname);
  write('vedi stroky:= ');
  readln(stroka);
  write(f, subs);
end;
close (f);

end.

Последний раз редактировалось Stilet; 28.11.2013 в 11:43.
ZveRtheGameS вне форума Ответить с цитированием
Старый 23.11.2013, 22:57   #4
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,865
По умолчанию

При чем тут типизированный файл, если в задаче сказано, что дан текстовый файл?
Arigato вне форума Ответить с цитированием
Старый 23.11.2013, 23:00   #5
ZveRtheGameS
Пользователь
 
Регистрация: 12.11.2013
Сообщений: 14
По умолчанию

Цитата:
Сообщение от Arigato Посмотреть сообщение
При чем тут типизированный файл, если в задаче сказано, что дан текстовый файл?
Ну ведь для начала этот файл нужно создать, потом ещё одну программу создать вместе дабы связать с этим файлом...
ZveRtheGameS вне форума Ответить с цитированием
Старый 23.11.2013, 23:27   #6
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,865
По умолчанию

Текстовый файл можно создать в Блокноте.
Arigato вне форума Ответить с цитированием
Старый 28.11.2013, 01:17   #7
ZveRtheGameS
Пользователь
 
Регистрация: 12.11.2013
Сообщений: 14
По умолчанию

Проблема актуальна...
ZveRtheGameS вне форума Ответить с цитированием
Старый 28.11.2013, 09:39   #8
ZX Spectrum-128
Участник клуба
 
Регистрация: 05.11.2013
Сообщений: 1,601
По умолчанию

Цитата:
Дан текстовый файл. Переписать в другой файл части строк, начинающихся с последнего слова, которые не содержат цифры.
Мама1 мыла2 345, раму мылом.
То есть, нужно выдергивать только "раму мылом"? Разделители между словами пробелы и знаки препинания?
ZX Spectrum-128 вне форума Ответить с цитированием
Старый 28.11.2013, 10:00   #9
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Код:
Function MyCopy(str:string):string;
var i:byte;
begin
MyCopy:='';
i:=length(str);
while not (str[i] in ['0'..'9']) and (i>1)do dec(i);
if i<>1 then
begin
delete(str,1,i);
i:=1;
while (Str[i]<>' ') and (i<length(str)) do inc(i);
delete(str,1,i);
MyCopy:=str;
end;
end;
var s:string; f,g:text;
begin
assign(f,'in.txt');
assign(g,'out.txt');
reset(f);
rewrite(g);
while not eof(f) do begin
readln(f,s);
writeln(g,Mycopy(s));
end;
close(f);
close(g);
end.
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"

Последний раз редактировалось Mad_Cat; 28.11.2013 в 10:08.
Mad_Cat вне форума Ответить с цитированием
Старый 28.11.2013, 22:42   #10
ZveRtheGameS
Пользователь
 
Регистрация: 12.11.2013
Сообщений: 14
По умолчанию

Цитата:
Сообщение от ZX Spectrum-128 Посмотреть сообщение
Мама1 мыла2 345, раму мылом.
То есть, нужно выдергивать только "раму мылом"? Разделители между словами пробелы и знаки препинания?
да, только "раму мылом", без знаков препинания...
ZveRtheGameS вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с файлами(Pascal) Каролина18 Помощь студентам 1 18.08.2012 15:12
Pascal, работа с файлами Monori Помощь студентам 10 27.04.2012 19:33
Работа с файлами (Pascal) MrVamp Помощь студентам 7 15.12.2011 00:29
Pascal, работа с файлами. imedved Помощь студентам 0 22.12.2010 22:09
Работа с файлами(Pascal Mekkeliard Помощь студентам 2 07.12.2010 15:56