Не знаю, может мой ответ для Макси будет уже не актуален. Но т.к. ответов не было то ОТВЕЧУ!
Цитата
Турбо Паскаль выдает что файл не найден!
А выдаёт т.к. процедура Assign(F,'C:Ser'); записана с ошибкой (параметр
C:Ser ). Не проверял правильно ли написана у тебя программа, но у меня имеется свой код.
Даже если он тебе уже не понадобится, но для других может быть полезен!
Program FindSeries;
uses
CRT;
var
MakeSeries: word;
FileName: string;
F: File of integer;
procedure Error;
begin
TextColor(Red);
write('Ошибка!!!');
readln;
halt
end;
procedure EnterData;
begin
ClrScr;
write('Введите количество серий|->');
readln(MakeSeries);
write('Введите имя файла, в котором будут хранится числа|->');
readln(FileName)
end;
function CreateTypeFile: word;
var
ValueOfNombers, Count, i, j: word;
NomberInSeria, TempNomberInSeria: integer;
Dir: string;
begin
GetDir(0, Dir);
Dir:= Dir +'\' + FileName;
Assign(F, Dir);
{$I-}
Rewrite(F);
{$I+}
if IOResult <> 0 then Error;
randomize;
Count:= 0;
NomberInSeria:= 0;
ValueOfNombers:= Random(10) + 2;
TempNomberInSeria:= NomberInSeria;
for j:= 1 to ValueOfNombers do
begin
NomberInSeria:= Random(100);
if Random(2) = 0 then
NomberInSeria:= -NomberInSeria;
if TempNomberInSeria <> NomberInSeria then
begin
write(F, NomberInSeria);
Inc(Count);
TempNomberInSeria:= NomberInSeria
end
end;
for i:= 1 to MakeSeries do
begin
ValueOfNombers:= Random(10) + 2;
NomberInSeria:= Random(100);
if Random(2) = 0 then
NomberInSeria:= -NomberInSeria;
for j:= 1 to ValueOfNombers do
begin
write(F, NomberInSeria);
Inc(Count)
end;
NomberInSeria:= 0;
ValueOfNombers:= Random(10) + 2;
TempNomberInSeria:= NomberInSeria;
for j:= 1 to ValueOfNombers do
begin
NomberInSeria:= Random(100);
if Random(2) = 0 then
NomberInSeria:= -NomberInSeria;
if TempNomberInSeria <> NomberInSeria then
begin
write(F, NomberInSeria);
Inc(Count);
TempNomberInSeria:= NomberInSeria
end
end
end;
CreateTypeFile:= Count;
Close(F)
end;
procedure ReadTypeFile;
var
Temp, i: integer;
begin
Reset(F);
i:= 0;
while not EOF(F) do
begin
Read(F, Temp);
write(Temp, ' ')
end;
Close(F)
end;
function fFindSeries: word;
var
Value1, Value2: integer;
Col: word;
begin
Reset(F);
Col:= 0;
Read(F, Value1);
Seek(F, 1);
while not EOF(F) do
begin
Read(F, Value2);
if Value1 = Value2 then
begin
Inc(Col);
while Value1 = Value2 do
begin
Value1:= Value2;
Read(F, Value2)
end
end;
Value1:= Value2
end;
Close(F);
fFindSeries:= Col;
end;
begin
EnterData;
writeln('Количество элементов файла|-> ', CreateTypeFile);
writeln('Количество серий|-> ', fFindSeries);
writeln;
writeln('Значения, хранящиеся в файле: ');
ReadTypeFile;
readln;
end.