Технический форум

Технический форум (http://www.tehnari.ru/)
-   Delphi, Kylix and Pascal (http://www.tehnari.ru/f43/)
-   -   Как добавить файл словаря? (http://www.tehnari.ru/f43/t71689/)

Neketozzz 08.04.2012 22:27

Как добавить файл словаря?
 
Дело в следующем: нужна программа (на Pascal), которая ищет в файле (словарь) слова перевертыши (кок, шалаш). Как прикрутить к ней этот файл?

kreol 08.04.2012 22:36

Код:

var f: text;
begin
assign(f,'путь к файлу');
{
работа с файлом
}
close(f);
end.


Neketozzz 09.04.2012 20:03

Примерно так?
 
VAR
S,S1,S2:String;
i,i1,i2,N,j:Byte;
f:text;
BEGIN
assign(f,'путь к файлу');
{
ReadLn(S);
WriteLn;
N:=0;
i:=0;
Repeat
Repeat
Inc(i);
Until S[i]<>' ';
i1:=i;
Repeat
Inc(i);
Until (S[i]=' ') or (i=Length(S));
If S[i]=' ' then i2:=i else i2:=i+1;
S1:=Copy(S,i1,(i2-i1));
S2:=S1;
For j:=1 to Length(S1) do
S2[Length(S1)-j+1]:=S1[j];
If S1=S2 then
begin
Write(S1+' ');
Inc(N);
end;
Until i=Length(S);
WriteLn;
WriteLn(N,' words');
ReadLn;
}
close(f);
END.

Vladimir_S 09.04.2012 20:30

Совсем не так!
Вместо 'путь к файлу' необходимо прописать реальный путь, заканчивающийся именем файла на диске - существующего или того, который предполагается создать, причем применение кириллицы не допускается (то есть может быть и существуют реализации Паскаля, умеющие работать с кириллицей в адресе, но мне они не известны). Например, Вы хотите открыть для чтения существующий на диске D в папке Darling файл swine.txt, то нужно записать:
Assign(f, 'D:\Darling\swine.txt');
После этого установится связь между указанным файлом на диске и файловой переменной f, объявленной в разделе Var программы.
Далее следует указать, что Вы собираетесь с этим файлом делать:
1. Читать - тогда пишем Reset(f);
2. Записывать в файл информацию - в этом случае пишем Rewrite(f); Если файла с таким именем на диске нет, он будет создан. ВНИМАНИЕ!!! Если применить команду Rewrite к имеющемуся на диске файлу, то вся содержащаяся в файле информация будет стерта!!!
3. Записать что-либо в конец файла (только для текстовых файлов) - команда Append(f);
4. Уничтожить файл - команда Erase(f);

kreol 09.04.2012 20:42

Цитата:

Сообщение от Vladimir_S (Сообщение 715108)
Вместо 'путь к файлу' необходимо прописать реальный путь

Мда( что-то я не подумал о такой интерпретации моего сообщения(:tehnari_ru_325:
Цитата:

Сообщение от Vladimir_S (Сообщение 715108)
то есть может быть и существуют реализации Паскаля

Вроде freepascal умеет, если я не ошибаюсь...

Vladimir_S 09.04.2012 20:46

Цитата:

Сообщение от kreol (Сообщение 715112)
Вроде freepascal умеет, если я не ошибаюсь...

Может и умеет - не пробовал. Тем более, что пользую DOS-версию FP, а там и вовсе кодировка другая. Так что лучше не надо. Оно спокойнее.

kreol 09.04.2012 21:10

Цитата:

Сообщение от Vladimir_S (Сообщение 715117)
Так что лучше не надо. Оно спокойнее.

:tehnari_ru_150:
Чего не сделаешь для душевного равновесия))

Кст. Я не правильно понял задание. Я думал уже дан словарь и нужно к примеру в массив ввести эти слова перевертыши или просто вывести на экран. Но все равно...
Зачем так жестоко?)))
Цитата:

Сообщение от Vladimir_S (Сообщение 715108)
4. Уничтожить файл - команда Erase(f);


Neketozzz 10.04.2012 13:57

Ну чисто теоретически - словарь есть (надо слов накидать в текстовый файл) и нужно вывести имеющиеся в нем слова перевертыши. Большое всем спасибо за помощь!


Часовой пояс GMT +4, время: 17:13.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.