Помощь - Поиск - Пользователи - Календарь
Полная версия: Дано целое число 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 сек.
нет, два миллиона!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.