|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
03.06.2008, 23:55 | #11 |
Пользователь Подтвердите свой е-майл
Регистрация: 12.05.2008
Сообщений: 13
|
Вот получается такая программа, что я накосячил?
Program kypcoBou; {nazvanie programmu} Uses crt; {zapysk modjuljaя CRT} Const n=100; Var i,j,c,m,k1,k2:integer; G,a,b,h:array [1..n] of integer; k_a,k_b:integer; Fg,fa,fb:text; change:boolean; Begin Clrscr; Assign (fa,'c:\aa.txt'); Assign (fb,'c:\bb.txt'); Assign (fg,'c:\gg.txt'); Rewrite(fa); rewrite (fb); rewrite (fg); Writeln ('vvedite kolu4estvo elementov massiva'); readln (m); Randomize; Writeln ('dannie:'); writeln (fg, 'dannie:'); For i:=1 to m do Begin G[i]:=random(10)+8; write(g[i]:4); Write (fg,g[i]:4); End; k_a:=0; k_b:=0; k1:=1; k2:=1; For i:=1 to m do If (I mod 2)=0 then begin A[k1]:=g[i];k1:=k1+1;k_a:=k_a+1; Write (fa, a[k1]); End Else begin B[k2]:=g[i];k2:=k2+1;k_b:=k_b+1; Write (fb,b[k2]); End; write('A:'); for i:=1 to k_a do write(A[i]:5); writeln; repeat for i:=1 to k_a-1 do begin if a[i] > a[i+1] then begin C := a[i+1]; a[i+1] := a[i]; a[i]:=c; end; end; write('A:'); for i:=1 to k_a do write(A[i]:5); writeln; repeat change := false; for i:=1 to k_a-1 do begin if a[i] > a[i+1] then begin C := a[i+1]; a[i+1] := a[i]; a[i]:=c; change := true; end; end; until not change; write('A:'); for i:=1 to k_a do write(A[i]:5); writeln; write('B:'); for i:=1 to k_b do write(b[i]:5); writeln; repeat change := false; for i:=1 to k_b-1 do begin if a[i] > b[i+1] then begin C := b[i+1]; b[i+1]:=b[i]; b[i]:=c; change := true; end; end; until not change; write('B:'); for i:=1 to k_b do write(b[i]:5); writeln; k1 := 1; k2 := 1; for i:=1 to m do begin if k1 > k_a then begin G[i]:=B[k2]; inc(k2); end else if k2 > k_b then begin G[i] := A[k1]; inc(k1); end else if A[k1]<B[k2] then begin G[i] := A[k1]; inc(k1); end else begin G[i] := B[k2]; inc(k2); end; end; write('G:'); for i:=1 to m do write(G[i]:5); writeln; Readln; Writeln; Writeln ('rezjyltat:'); writeln (fg,'rezyltat:'); For i:=1 to m do Begin Write (g[i]:4); Write (fg,g[i]:4); end; Close (fa); close (fb); close (fg); Readkey; End. |
04.06.2008, 08:08 | #12 |
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
Какая ошибка ? Что не работает ? Мы должны проверять ?
Как минимум вот это: a[i] > b[i+1] в сортировке массива b Последний раз редактировалось alexBlack; 04.06.2008 в 08:36. |
04.06.2008, 15:04 | #13 |
Пользователь Подтвердите свой е-майл
Регистрация: 12.05.2008
Сообщений: 13
|
Поправил, теперь сортируется, он все равно неправильно.
Program kypcoBou; {nazvanie programmu} Uses crt; {zapysk modjuljaя CRT} Const n=100; Var i,j,c,m,k1,k2:integer; G,a,b,h:array [1..n] of integer; k_a,k_b:integer; Fg,fa,fb:text; Begin Clrscr; Assign (fa,'c:\aa.txt'); Assign (fb,'c:\bb.txt'); Assign (fg,'c:\gg.txt'); Rewrite(fa); rewrite (fb); rewrite (fg); Writeln ('vvedite kolu4estvo elementov massiva'); readln (m); Randomize; Writeln ('dannie:'); writeln (fg, 'dannie:'); For i:=1 to m do Begin G[i]:=random(10)+8; write(g[i]:4); Write (fg,g[i]:4); End; k_a:=0; k_b:=0; k1:=1; k2:=1; For i:=1 to m do If (I mod 2)=0 then begin A[k1]:=g[i];k1:=k1+1;k_a:=k_a+1; Write (fa, a[k1]); End Else begin B[k2]:=g[i];k2:=k2+1;k_b:=k_b+1; Write (fb,b[k2]); End; For i:=1 to k_a-1 do If a[i]>a[i+1] then begin C:=a[i+1];a[i+1]:=a[i];a[i]:=c; Write(fa,a[i]);write(fa,a[i+1]); End Else Begin A[i]:=a[i];a[i+1]:=a[i+1]; Write (fa,a[i]);write(fa,a[i+1]); End; For i:=1 to k_b-1 do If b[i]>b[i+1] then begin C:=b[i+1]; b[i+1]:=b[i];b[i]:=c; Write (fb,b[i]);write(fb,b[i+1]); End Else begin b[i]:=b[i];b[i+1]:=b[i+1]; write(fb,b[i]);write(fb,b[i+1]) End; K1:=1;k2:=1; For i:=1 to k_a+k_b do If (k2<k_b) and ((k1>k_a) or (a[k1]>b[k2])) Then begin g[i]:=b[k2]; k2:=k2+1; end Else begin g[i]:=a[k1]; k1:=k1+1; end; Writeln; Writeln ('rezjyltat:'); writeln (fg,'rezyltat:'); For i:=1 to m do Begin Write (g[i]:4); Write (fg,g[i]:4); end; Close (fa); close (fb); close (fg); Readkey; End. Последний раз редактировалось MyVLink; 04.06.2008 в 15:21. |
04.06.2008, 16:36 | #14 |
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
Что это Вы опять старый исходник привели ?
Вот здесь все работает. Вывод в файл доделаете Код:
|
04.06.2008, 22:05 | #15 |
Пользователь Подтвердите свой е-майл
Регистрация: 12.05.2008
Сообщений: 13
|
Ура! Всё Работает! Спасибо огромное!
|
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Плиз, помогите с курсовым в Паскале!!!!СРОЧНО!!!! | ~Brilliant~ | Помощь студентам | 2 | 21.02.2009 21:15 |
Помогите с курсовым на С++ | Solovei_MC | Помощь студентам | 2 | 14.06.2008 15:10 |