4 / 4 / 2
Регистрация: 16.05.2011
Сообщений: 63
1

Из файла F получить файл G, исключив повторные вхождения чисел.

02.06.2011, 01:16. Показов 1801. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Пишет:
Ошибка ввода/вывода: Процесс не может получить доступ к файлу, так как это файл уже занят другим процессом (Program1.pas строка 28)


Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
// Описываем переменные
Var F,F1,G:Text;
    I:Integer;
    Si,s:String;
Begin
 //Создаем исходный файл, путем заноса туда случайных чисел
 Assign(f,'input.txt');
 Rewrite(f);
//Я взял 100 чисел от 0 до 9 включительно
 For i:=0 to 100 do
  Writeln(f,Random(10));
 Close(f);
 
//Связываем две переменные с одним фалом, для одной будем записывать
 Assign(g,'output.txt');
 Rewrite(g);
 CLose(g);
//Для другой считывать
 Assign(F1,'output.txt');
 Reset(f);
//Пока не конец файла Ф
 While not EOF(F) do
   begin
     //Считываем строку (ну или число как кому  удобнее)
     Readln(f,Si);
    //Смотрим в файле Ф1, он же Г, только для чтения, есть ли такое число в файле
     Reset(f1);
     Append(g);
     While (not EOF(f1))and(Si<>s) do Readln(f1,s);
     //Если достигнут конец файла, а строки похожей нет, то записываем в новый файл Г считанное число
     If EOF(f1) and (Si<>s)  then
      Writeln(g,Si);
     //Закрываем, чтобы вновь считать
     Close(f1);
     CLose(g);
    end;
 
 Close(f);
End.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.06.2011, 01:16
Ответы с готовыми решениями:

Из файла f получить файл g, исключив повторные вхождения чисел
Заполнить файл f целыми числами, полученными с помощью генератора случайных чисел. Из файла f...

Из файла f получить файл q, исключив повторные вхождения чисел
Заполнить файл f целыми числами, полученными с помощью генератора случайных чисел. Из файла f...

Из файла А получить файл В, исключив все повторные вхождения чисел
Заполнить текстовый файл А случайными числами. Из файла А получить файл В, исключив все повторные...

Файлы. Из файла f получить файл g, исключив повторные вхождения чисел
Заполнить файл f целыми числами, полученными с помощью генератора случайных чисел. Из файла f...

8
2857 / 1986 / 788
Регистрация: 23.09.2010
Сообщений: 4,877
02.06.2011, 01:50 2
Reset(f1);
Append(g);
ты уж выбери либо ты его для чтения открываешь,либо для дозаписи.А вообще чушь какая то написана.
While not EOF(F) do
begin
//Считываем строку (ну или число как кому удобнее)
Readln(f,Si);
//Смотрим в файле Ф1, он же Г, только для чтения, есть ли такое число в файле
Reset(f1);//нафига это в цикле нужно
Append(g);//и это
дальше не смотрел просто.
1
4 / 4 / 2
Регистрация: 16.05.2011
Сообщений: 63
02.06.2011, 02:05  [ТС] 3
не работает - While (not EOF(f1))and(Si<>s) do Readln(f1,s);
Если убрать
Reset(f1);
Append(g);

Добавлено через 5 минут
А сможете исправить программу?
0
2857 / 1986 / 788
Регистрация: 23.09.2010
Сообщений: 4,877
02.06.2011, 02:10 4
задание напиши полностью.может кто нибудь да и исправит.

Добавлено через 34 секунды
в первом своём посте ошибся.файлы то разные.
0
4 / 4 / 2
Регистрация: 16.05.2011
Сообщений: 63
02.06.2011, 02:12  [ТС] 5
уже писал(((
Заполнить файл F целыми числами, полученными с помощью генератора случайных чисел. Из файла F получить файл G, исключив повторные вхождения чисел. Порядок исследования чисел сохранить.

у меня есть ещё такое решение но не знаю как убрать повторения чисел(

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
program ABC;
var b,i:integer;
f:file of integer;
begin
assign(f,'f.dat');
writeLn('введите первую компоненту файла f (признак конца ввода: "555")');
//ввод файла
rewrite(f);
readLn(b);
i:=1; //номер компоненты файла
while b<>555 do
begin
write(f,b);
inc(i);
writeLn('введите ',i,'-ую компоненту файла f');
readLn(b);
end;
 
//ввывод файла до изменения
reset(f);
writeLn('фаил F:');
while not EOF(f) do
begin
read(f,b);
write(b:5);
end;
writeLn;
writeLn('фаил G:');
reset(f);
while (not EOF(f)) do
Begin;
read(f,b);
If b mod 2=0 then
write(b:5);
end;
close(f);
end.
0
4 / 4 / 2
Регистрация: 16.05.2011
Сообщений: 63
02.06.2011, 02:21  [ТС] 6
Если я меняю input у меня программа должна заработать?
0
2857 / 1986 / 788
Регистрация: 23.09.2010
Сообщений: 4,877
02.06.2011, 10:25 7
Первое что в голову пришло.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
Uses
 CRT;
Var
 a:array[1..200] of integer;
 i,j,n:byte;
 l:integer;
 f,f2:text;
 t:boolean;
begin
Assign(f,'D:\1.txt');
rewrite(f);
repeat
 readln(n);
until n in [1..200];
randomize;
for i:=1 to n do
begin
 l:=random(20)-5;
 write(l,' ');
 write(f,' ',l);
end;
Close(f);
writeln;
reset(f);
n:=0;
while not eof(f) do
begin
 read(f,l);
 inc(n);
 a[n]:=l;
 write(l,' ');
end;
Close(f);
Assign(f2,'D:\2.txt');
rewrite(f2);
For i:= n downTo 1 do
begin
t:= True;
For j:= i + 1 To n do
 If (a[n - j + 1] = a[n - i + 1]) Then t:=False;
 If t Then write(f2,a[n - i + 1]:3);
end;
Close(f2);
end.
1
4 / 4 / 2
Регистрация: 16.05.2011
Сообщений: 63
02.06.2011, 11:23  [ТС] 8
Assign(f,'D:\games\2.txt');
rewrite(f); - тут ошибка у меня паскаль тупит?

Добавлено через 2 минуты
классную прогу нашёл но там повторения((( кто бы знал как их убрать?

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
uses crt;
var f,g:file of integer;
    n,a,b,i,p:integer;
begin
clrscr;
randomize;
assign(f,'fileF');
rewrite(f);
assign(g,'fileG');
rewrite(g);
write('Сколько чисел ввести в файл n=');
readln(n);
for i:=1 to n do
 begin
  a:=random(10)+1;
  write(f,a);
 end;
writeln('Содержание исходного файла:');
reset(f);
for i:=0 to filesize(f)-1 do
 begin
  read(f,a);
  write(a,' ');
 end;
writeln;
close(f);
reset(f);
for i:=1 to filesize(f)-1 do
 begin
  seek(f,i-1);
  read(f,a);
  seek(f,i);
  read(f,b);
  p:=a*b;
  write(g,p);
 end;
close(f);
writeln('Содержание нового файла:');
reset(g);
for i:=0 to filesize(g)-1 do
 begin
  read(g,a);
  write(a,' ');
 end;
close(g);
readln
end.
0
2857 / 1986 / 788
Регистрация: 23.09.2010
Сообщений: 4,877
02.06.2011, 11:59 9
на какую тему задание?Типизированные или текстовые файлы то.Тут чё экстрасенсы собрались чтоли.
0
02.06.2011, 11:59
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.06.2011, 11:59
Помогаю со студенческими работами здесь

Из данного файла получить новый файл, исключив повторные вхождения чисел
Прошу помочь с решением задачи на Pascal ABC. Заранее огромное спасибо. Файловый тип данных....

Из файла f получить файл g, исключив повторные вхождения чисел
Помогите пожалуйста с прогой... Условие: Записать файл f целыми числами, полученными с помощью...

Из файла f получить файл g, исключив повторные вхождения чисел
Ребят помогите пожалуйста решить эту задачу: Заполнить файл последовательного доступа f целыми...

Из файла f получить файл g, исключив повторные вхождения чисел
парни нужна помощь!!!!!!!!! есть задание: Заполнить файл f целыми числами, полученными с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru