Дано целое число N и текстовый файл. Создать строковый файл, содержащий все слова длины N из исходного файла (знаки препинания, p`qonknfemm{e в начале и в конце слов, не учитывать). Если исходный файл не содержит слов длины N, оставить результирующий файл пустым.
Lapp
17.01.2010 10:34
tanjusha, в чем конкретно трудности? Показывай, что у тебя получилось. Поможем.
tanjusha
17.01.2010 13:05
Я вообще не могу понять как это делать(((
Lapp
17.01.2010 13:17
Цитата(tanjusha @ 17.01.2010 13:05)
Я вообще не могу понять как это делать(((
Читаешь файл построчно, разбиваешь строки на слова (например, как тут: Разбиение на слова. Все способы. - способ Klem4 самый простой), и если длина слова равна N, то записываешь его в выходной файл. Ты начни писать, дальше поможем.
tanjusha
17.01.2010 14:38
я не умею программы писать...помогите
Unconnected
17.01.2010 16:08
Нуу, раз не умеешь, то держи:
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
17.01.2010 16:19
Спасибочки большое)))
Lapp
18.01.2010 9:19
Цитата(Unconnected @ 17.01.2010 16:08)
Нуу, раз не умеешь, то держи:
Unconnected, а я не умею миллион баксов заработать..
Добавлено через 22 сек. нет, два миллиона!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.