Показать сообщение отдельно
  #1  
Старый 23.03.2013, 18:22
Diplomate Diplomate вне форума
Прохожий
 
Регистрация: 10.11.2012
Сообщения: 15
Репутация: 10
По умолчанию Как работать с текстовыми файлами?

Передо мной стоит простая задача:есть входной файл input. В первой строке написано число элементов массива, во второй - сами элементы массива. В третьей строке записано любое число. Я должен посчитать, сколько раз в массиве встречается число из третьей строки. Сама задача невероятно простая, но я не понимаю, как работать с файлами! Вот мой код:
Код:
procedure TForm1.FormCreate(Sender: TObject);
var f:file;
n,x,i,p,r:integer;
a:array of integer;
begin
r:=0;
assignfile(f,input.txt); //это строка 31
reset(f);
readln(f,n);
setlength(a,n);
for i:=0 to n-1 do //это строка 35
 read(f,a[i]);
readln(f,p);
read(f,x);
closefile(f);
for i:=0 to n do
 if  a[i]=x then inc(r);
assignfile(f,output.txt);
rewrite(f);
write(f,r);
closefile(f);
end; 
Понимаю, что эта программа вообще через задницу написана...но в обычном Паскале аналогичная работает. Вот, какие ошибки выводит.
[Error] Unit1.pas(31): Record, object or class type required
[Error] Unit1.pas(35): ';' expected but 'FOR' found
В общем, объясните дураку, почему это не работает?
Ответить с цитированием