Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.05.2013, 09:35   #1
imeugene
 
Регистрация: 23.05.2013
Сообщений: 3
Восклицание Работа с файлами. Turbo Pascal

Помогите написать, очень прошу, и очень срочно нужно...с меня огромное спасибо!!!


Пусть файлы c и d с компонентами, являющимися целыми или действительными числами, упорядочены по убыванию. Записать в файле g все числа файлов c и d без повторений и в порядке возрастания.
imeugene вне форума Ответить с цитированием
Старый 29.05.2013, 13:31   #2
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Шаг 1: осуществить сортировку слиянием из файлов c и d во временный файл e.
Шаг 2: переписать файл e в обратном порядке в файл g.
Шаг 3: удаляем временный файл.

Примечание: если файлы c и d целиком помещаются в память, без временного файла можно обойтись.
s-andriano вне форума Ответить с цитированием
Старый 29.05.2013, 19:42   #3
imeugene
 
Регистрация: 23.05.2013
Сообщений: 3
По умолчанию

Цитата:
Сообщение от s-andriano Посмотреть сообщение
Шаг 1: осуществить сортировку слиянием из файлов c и d во временный файл e.
Шаг 2: переписать файл e в обратном порядке в файл g.
Шаг 3: удаляем временный файл.

Примечание: если файлы c и d целиком помещаются в память, без временного файла можно обойтись.
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
program rec1;
{Пусть файлы c и d с компонентами, являющимися целыми или действительными числами, упорядочены по убыванию.
Записать в файле g все числа файлов c и d без повторений и в порядке возрастания.}
uses
crt;
var
c, d, g : file of integer;
n, n1, i, j : word;
a, b : integer;
procedure CrF(s:string; n : word);
var i : word;
a : integer;
f : file of integer;
begin
assign(f,s);
rewrite(f);
a := random(70)+15;
for i := 1 to n do begin
write(f,a);
a := a - 1 - random(25);
end;
reset(f);
writeln('файл ',s);
while not eof(f) do
begin
read(f,a);
write(a:4);
end;
writeln;
close(f);
end;
begin
clrscr;
write('Количество компонент исходных файлов c и d :');
readln(n,n1);
randomize;
CrF('c.dat',n);
CrF('d.dat',n1);
assign(c,'c.dat');
assign(d,'d.dat');
assign(g,'g.dat');
reset(c);
reset(d);
rewrite(g);
while (not eof(c)) or (not eof(d)) do
begin
if not eof(c) then begin
read(c,a);
write(g,a);
end;
if not eof(d) then begin
read(d,a);
write(g,a);
end;
end;
for i := 1 to filesize(g)-1 do
for j := 1 to filesize(g)-i do
begin
seek(g,j-1);
read(g,a);
seek(g,j);
read(g,b);
if a>b then
begin
seek(g,j-1);
write(g,b);
seek(g,j);
write(g,a);
end;
end;
writeln('Файл g.dat : ');
reset(g);
while not eof(g) do
begin
read(g,a);
write(a:4);
end;
close(c);
close(d);
close(g);
readln;
end.

Верно?
imeugene вне форума Ответить с цитированием
Старый 29.05.2013, 20:24   #4
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Цитата:
Верно?
Этот код непригоден для прочтения.
Отформатируйте его.
s-andriano вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Turbo Pascal. Работа с файлами Linar523 Помощь студентам 0 13.06.2012 17:09
Работа с файлами в Turbo Pascal VoltZZZ Паскаль, Turbo Pascal, PascalABC.NET 1 22.03.2012 19:34
работа с файлами на turbo pascal. Катюша)) Паскаль, Turbo Pascal, PascalABC.NET 1 19.12.2011 00:01
Turbo Pascal работа с файлами 34P434 Помощь студентам 2 24.01.2007 13:12