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

Слияние двух файлов по сериям

26.04.2012, 23:16. Показов 555. Ответов 0
Метки нет (Все метки)

Смысл у меня есть сортировка! многофазная
В ней нужно сливать отсортированные файлы по сериям! есть фрагмент программы, но доработать чет не могу помогите! Пожайлута! Уж оч надо! Заранее спасибо!

Пример

A 15 16 22 90
B 12 18 30 27

На выходе уже

C 12 15|22 30
D 16 18|27 90

Чтобы процедура была универсальной для любого кол-ва серий!

Delphi
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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
procedure file_merge_A_B (S;string);
var a1,a2,i,s,j: integer;
    z,x,ss: boolean;
begin
   reset(A);                                    /// s серия
   reset(B);
   rewrite(C);
   rewrite(D);
   read(A,a1);
   Read(B,a2);   z:=true;
   While (not EOF(A)) and (not EOF(B)) do
    begin
     if z then
           begin
            x:=true;
            i:=1; j:=1;
            While (not EOF(A) and not EOF(B)) and x do
             begin
              If (a1<a2) then
                          begin
                           Write(C,a1);
                           Read(A,a1);
                           inc(i);
                          End
                         else
                          begin
                           Write(C,a2);
                           Read(B,a2);
                           inc(j);
                          End;
              If (i=s) or (j=s) then x:=false;
             End;
            If not x then
                       begin
                     ss:=true;
                     while (i<Size)and ss do
                      begin
                      if not eof(A) then
                                     begin
                                       Write(C,a1);
                                       Read(A,a1);
                                       inc(i);
                                     end
                                    else
                                     ss:=false;
                      end;
                    ss:=true;
                     while (j<Size)and ss do
                      begin
                      if not eof(B) then
                                     begin
                                       Write(C,a1);
                                       Read(B,a1);
                                       inc(j);
                                     end
                                    else
                                     ss:=false;
                      end;
                   end;
         if (i=size) and (j=size) then z:=false;
       end
  else
   begin
   i:=1; j:=1;
     x:=true;
         While (not EOF(A)) and (not EOF(B))and (x) do
                       begin
                         If (a1<a2) then
                           begin
                             Write(D,a1);
                             Read(A,a1);
                             inc(i);
                           End
 
                         else
                           begin
                             Write(D,a2);
                             Read(B,a2);
                             inc(j);
                           End;
                         If (i=s) or (j=s) then x:=false;
                       End;
                        If not x then
                       begin
                     ss:=true;
                     while (i<Size)and ss do
                      if not eof(A) then
                                     begin
                                       Write(D,a1);
                                       Read(A,a1);
                                       inc(i);
                                     end
                                    else
                                     ss:=false;
                    ss:=true;
                     while (j<Size)and ss do
                      if not eof(B) then
                                     begin
                                       Write(D,a1);
                                       Read(B,a1);
                                       inc(i);
                                     end
                                    else
                                     ss:=false;
                       End;
     if (i=size) and (j=size) then z:=true;
   end;
 
     end; Close(A);Close(B);CloseFile(C);CloseFile(D);
  Erase(A);
  Erase(B);
  rewrite(A);  closeFile(A);
  rewrite(B);  CloseFile(B);
 
end;
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.04.2012, 23:16
Ответы с готовыми решениями:

Слияние двух файлов
Здравствуйте. В папке есть два тхт файла, как мне их соединить и записать в третий и в третьем...

Слияние двух файлов по алгоритму: цифра вставляется после двух символов
#include &lt;iostream&gt; #include &lt;io.h&gt; #include &lt;stdio.h&gt; #include &lt;windows.h&gt; #include &lt;string.h&gt;...

Слияние двух текстовых файлов
Пожалуйста,помогите написать вот такую программу : Произвести слияние двух текстовых файлов. Имена...

Слияние двух текстовых файлов
необходимо прогу оформить в ввиде функции, вызываемой из основной программы. Целой переменной n...

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.04.2012, 23:16
Помогаю со студенческими работами здесь

Слияние двух текстовых файлов
Ребят помогите плизз задали курсовую в универе на тему Разработать программу слияния двух...

Вывод двух файлов и слияние их
есть файл вопросы.txt и ссылки.txt и в каждом из файлов строки 01. 02. ... 40. как...

Слияние двух упорядоченных файлов
Здравствуйте.Помогите пожалуйста решить задачу: Создать два файла А и В из целых чисел. Файл А...

Слияние двух отсортированных файлов
Доброго все времени суток, господа. Прошу помощи у того, кого не затруднит. Пытаюсь реализовать...

Слияние двух текстовых файлов
Помогите пожалуйста!! нужно разработать программу слияния двух текстовых файлов в один файл по...

Произвести слияние двух файлов...
Даны два файла - А и В: целых чисел. Файл А - отсортирован по возрастанию; файл В - отсортирован по...


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

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

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