![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Gift |
![]()
Сообщение
#1
|
Гость ![]() |
Как переместить четные числа в начало, а нечетные в конец не изменяя порядка
следования чисел с одинаковой четностью. есть 12 7 9 6 -5 -6 4 6 -7 23 -24 9 надо 12 6 -6 7 9 -5 4 6 -24 -7 23 9 Код uses crt; const n=9; type mas=array[1..6] of integer; var f:file of mas; i,x,min,max,num_of_max:integer; a:mas; begin clrscr; randomize; assign(f,'000.000'); rewrite(f); for i:=1 to n do begin for x:=1 to n do begin a[x]:=random(99); write(a[x]:3); end; writeln; write(f,a); writeln; end; close(f); Код - в теги !!! |
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Ну вот так можно... Правда не очень рационально, но зато без дополнительных массивов и файлов...
Исходный код const n = 8; arr: array[1 .. n] of integer = (1, 2, 3, 4, 5, 6, 7, 8); var f: file of integer; function good: boolean; var x: integer; res: boolean; begin reset(f); repeat read(f, x) until odd(x); res := true; while (not eof(f)) and res do begin read(f, x); res := res and odd(x) end; good := res end; procedure change; var x, T: integer; begin reset(f); repeat read(f, x); until odd(x); T := x; while not eof(f) do begin read(f, x); seek(f, filepos(f) - 2); write(f, x); seek(f, filepos(f) + 1); end; seek(f, filesize(f) - 1); write(f, T); end; var i: integer; x: integer; f_read, f_write: longint; begin assign(f, 'test.ttt'); rewrite(f); for i := 1 to n do write(f, arr[i]); { check } writeln('before sorting:'); reset(f); while not eof(f) do begin read(f, x); write(x:5) end; writeln; while not good do change; { check it: } writeln('after sorting:'); reset(f); while not eof(f) do begin read(f, x); write(x:5) end; writeln; close(f) end. |
![]() ![]() |
![]() |
Текстовая версия | 20.07.2025 13:58 |