Помощь - Поиск - Пользователи - Календарь
Полная версия: Дано целое число N и текстовый файл. Создать строковый файл, содержащий все слова длины N из исходного файла
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
tanjusha
Дано целое число N и текстовый файл. Создать строковый файл, содержащий все слова длины N из исходного файла (знаки препинания, p`qonknfemm{e в начале и в конце слов, не учитывать). Если исходный файл не содержит слов длины N, оставить результирующий файл пустым.
Lapp
tanjusha, в чем конкретно трудности? Показывай, что у тебя получилось. Поможем.
tanjusha
Я вообще не могу понять как это делать((( mega_chok.gif
Lapp
Цитата(tanjusha @ 17.01.2010 13:05) *
Я вообще не могу понять как это делать((( mega_chok.gif

Читаешь файл построчно, разбиваешь строки на слова (например, как тут: Разбиение на слова. Все способы. - способ Klem4 самый простой), и если длина слова равна N, то записываешь его в выходной файл.
Ты начни писать, дальше поможем.
tanjusha
я не умею программы писать...помогите
Unconnected
Нуу, раз не умеешь, то держи:

const limits=[#0..#32,'.',',',':',';','!','?','"'];
var
f,f2:text;
s:string;
len,i,n,back:byte;
begin
writeln('Vvedite dlinu nujnih slov');
readln(len);
assign(f,'input.txt');
reset(f);
assign(f2,'output.txt');
rewrite(f2);
while not(eof(f)) do begin
readln(f,s);
i:=1;
n:=0;
while(i<=length(s)) do begin
while(i<=length(s)) and (s[i] in limits) do inc(i);
if i<=length(s) then begin
back:=i;
while(i<=length(s)) and not(s[i] in limits) do inc(i);
inc(n);
if (length(copy(s, back, i-back))=len) then writeln(f2,copy(s, back, i-back));
end;
end;
end;
close(f);
close(f2);
end.
tanjusha
Спасибочки большое)))
Lapp
Цитата(Unconnected @ 17.01.2010 16:08) *
Нуу, раз не умеешь, то держи:
Unconnected, а я не умею миллион баксов заработать..



Добавлено через 22 сек.
нет, два миллиона!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.