![]() |
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); Код - в теги !!! |
![]() ![]() |
Guest |
![]()
Сообщение
#2
|
Гость ![]() |
Всем спасибо за предыдущую задачу. А вот мой вариант:
Исходный код uses crt; const n=9; type mas=array[1..n] of integer; fmass=file of mas; var f: fmass; i,x:integer; a:mas; procedure oddSort(var m:mas); var x1,t:integer; begin x1:=1; while(x1<n)do begin if odd(M[x1]) and not odd(M[x1+1]) then begin t:=m[x1]; m[x1]:=m[x1+1]; m[x1+1]:=t; x1:=x1-1; if x1<1 then x1:=1; end else x1:=x1+1; end; end; procedure vivod(var f :fmass ); begin reset(f); writeln; while not eof(f) do begin read(f,a); for x:=1 to n do write(a[x],' '); writeln; end; end; begin clrscr; randomize; assign(f,'000.000'); {$I-}reset(f);{$I+} if ioresult<>0 then begin rewrite(f); repeat for i:=1 to n do a[i]:=random(10); write(f,a); writeln('vvesti eshe ?', 'y'); until readkey='n'; close (f); end; window(1,1,40,25); vivod(f); reset(f); while not eof(f) do begin read(f,a); oddSort(a); seek(f,filepos(f)-1); write(f,a); end; window(40,1,80, 25); vivod(f); readkey; close(f); end. 1. создать файл f1, где каждая компонента - матрица nXn. Поменять местами элементы лежащие на главной и побочной диагоналях в каждой компоненте (т. е. матрице) файла. Минимальное значение каждой компоненты записать в файл f2. 2. создать файл f1, где компонента массив из n чисел(n кратно трем). Переставить числа в каждой комбинации таким образом: есть 123 456 789 321 654 987 Средние числа каждой проссумировать и общую сумму каждой компоненты записать в файл f2, а в файл f1 преставленные компоненты записать обратно после перестановки. В файле f2 найти максимальное значение и удолить. Вывести файлы на экран. 3. Создать текстовый файл, где каждая строка файла - это предложение. Переставить местами первое и последнее слово каждого предложения. Переставленный текст записать строкой в новый текстовый файл. У кого какие есть предложения? Как всегда желательно все узреть наглядно, то есть в исходниках. |
![]() ![]() |
![]() |
Текстовая версия | 20.07.2025 13:52 |