program ABC;
const c=1000;
var num:integer;
i:integer;
a:array[1..c] of boolean;
n:integer;
f, g:file of integer;
begin
Assign(f,'f.num');
Reset(f);
for i:=1 to c do write(f, random(c)+1);
seek(f,0);
assign(g,'g.num');
reset(g);
for i:=1 to c do a:=false;
for i:=1 to c do
begin
read(f,n);
if not a[n] then
begin
a[n]:=true;
write(g,n);
end;
end;
close(f);
close(g);
end.
Pascal. из файла f получить g
:confused: [FONT="Comic Sans MS"][/FONT]Заполнить файл f целыми числами, полученными с помощью генератора случайных чисел. Из файла f получить файл g, исключив повторные вхождения чисел. Порядок следования чисел сохранять.
если я загружу файл 1001 число
Код:
program ABC;
const c=1000; {верхняя граница случайных чисел}
var num:integer;
i:integer;
a:set of 1..c;
n,u:integer;
f, g:file of integer;
begin
read(u);{число чисел}
Assign(f,'f.num');
Rewrite(f);
for i:=1 to u do write(f, random(c)+1);
reset(f);
assign(g,'g.num');
rewrite(g);
a:=[];
for i:=1 to c do
begin
read(f,n);
if not (n in a) then
begin
a:=a+[n]
write(g,n);
end;
end;
close(f);
close(g);
end.
const c=1000; {верхняя граница случайных чисел}
var num:integer;
i:integer;
a:set of 1..c;
n,u:integer;
f, g:file of integer;
begin
read(u);{число чисел}
Assign(f,'f.num');
Rewrite(f);
for i:=1 to u do write(f, random(c)+1);
reset(f);
assign(g,'g.num');
rewrite(g);
a:=[];
for i:=1 to c do
begin
read(f,n);
if not (n in a) then
begin
a:=a+[n]
write(g,n);
end;
end;
close(f);
close(g);
end.
вот модификация не зависит от длины файла
ps ну ваша тоже вроде работает верно
но непонятен тогда смысл использования файла )
а почему бы и нет? :)
Private Sub CommandButton1_Click()
n = Val(InputBox("KOL-VO"))
Open "C:1f.txt" For Output As #1
For i = 1 To n
Print #1, Round(Rnd(10) * 10)
Next i
Close
End Sub
Private Sub CommandButton5_Click()
Open "C:1f.txt" For Input As #1
Open "C:1q.txt" For Output As #2
Dim temp(1000)
Do Until EOF(1)
n = n + 1
Input #1, temp(n)
Loop
Dim temp2(1000)
l = 0
For i = 1 To n - 1
k = 0
For j = i - 1 To n
If temp(i) = temp2(j) Then
k = 1
End If
Next j
If k = 0 Then
l = l + 1
temp2(l) = temp(i)
End If
Next i
For i = 1 To n
Print #2, temp2(i)
Next i
Close
End Sub вот сама это задача