IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Алфавитный порядок слов.., запутался
b0b
сообщение 4.12.2005 21:17
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 20
Пол: Мужской

Репутация: -  0  +


вечер добрый.
задачка такая.

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

написал процедуру открытия файла:

procedure open(var f:text);
var name:string[40];
    ok:boolean;
begin
  repeat
    write('Vvedite name of file: ');
    readln(name);
    assign(f,name);
    {$i-}reset(f); {$i+}
    ok:=IOResult=0;
  until ok=true;
end;


и процедуру чтения слов из файла:

procedure word(var f:text; var w:string);
var ch:string;
begin
  repeat
    readln(f,ch);
  until ch <> ' ';
    w:='';
    repeat
      w:=w+ch;
      readln(f,ch);
    until (ch=' ') or (eoln(f)) or (eof(f));
    if ch <> ' ' then w:=w+ch;
    if eoln(f) then readln(f);
end;


а вот дальше чет немогу...sad.gif
нужно срочно..

Сообщение отредактировано: b0b - 4.12.2005 21:24
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 4.12.2005 21:37
Сообщение #2


Гость






Погоди, у тебя же есть процедура чтения слов... Что, нельзя после получения очередного слова проверить его длину? Как-то вот так:
var
  arr: array[1 .. 200] of string[50];
  count: integer;
  next_word: string;
...
{ открываем файл, запрашиваем чему равно N ... }
  count := 0;
  while not eof(f) do begin

    GetWord(f, next_word); { это твоя функция чтения слов из файла }
    if length(next_word) = n then begin
      { добавляем слово в массив }
      inc(count); arr[count] := next_word;
    end;

  end;

  { и сортируем массив }
...
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия 28.07.2025 0:21
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"