![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
warning777 |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 14 Пол: Мужской Репутация: ![]() ![]() ![]() |
У меня проблема, есть готовая программа но ее надо разбить на процедуры,программа рабочая.
Моя ася 5515795 заплачу 50р ![]() Сдавать послезавтра ! |
![]() ![]() |
warning777 |
![]()
Сообщение
#2
|
Новичок ![]() Группа: Пользователи Сообщений: 14 Пол: Мужской Репутация: ![]() ![]() ![]() |
{ Задание - если имеются нулевые и отрицательные элементы}
{ то отсортировать элементы стоящие между} { первым отрицательным и последним нулевым } { в порядке возрастания . Если нет нулевых или отрицательных} { не сортировать } {Надо разбить на процедуры :} {1)Ввод массива } {2)Вывод массива } {3)Обработка массива : } {-Анализ (состоит из поиска нулевого и отрицательного элемента а так } {же флаг } {Который передает управление дальше или на конец программы) } {-Выбор элементов для сортировки } {-Сортировка } {-Возврат отсортированного массива в начальный } Program zamuta; var i,max,k,x1,x2,n,m,p,n3,tmp,j,z:integer; a:array [1..100] of integer; b:array [1..100] of integer; f1,f2:text; IncreaseFlag:Boolean; begin assign(f1,'in.txt'); {начинаем делать} assign(f2,'out.txt'); reset(f1); n:=0; i:=1; while not EoF(f1) do {чтение файла} begin n:=n+1; read(f1,a[i]); {перегоняется в массив а(и) } i:=i+1; end; close(f1); for i:=1 to n do {поиск последнего нулевого} begin if a[i]=0 then m:=i; x1:=1 {присваиваем ему букву м и х1=1} end; for i:=n downto 1 do {поиск первого отрицательного} begin if a[i]<0 then p:=i; x2:=1 {присваеваем ему букву п и х2=1} end; k:=0; {выбор элементов для сортировки} for i:=p+1 to m-1 do begin k:=k+1; b[k]:=a[i]; {перегоняем в массив б(к) } end; n3:=m-p; {считаем колличество чисел в массиве} {дальше должна идти проверка если} { х1 и х2 оба равны единице то флаг принимает true} { и мутим дальше,если хотя бы одно ноль - идем на конец файла} z:=k; {сортировка по возрастанию} for k:=1 to k do for j:=1 to z-1 do if B[j]>B[j+1] then begin tmp:=B[j]; B[j]:=B[j+1]; B[j+1]:=tmp; end; k:=0 ; {возврат отсортированнного в общий массив а(и) } for i:=p+1 to m do begin k:=k+1; a[i]:=b[k]; end; Assign(f2,'out.txt'); {записываем все полученное в файл} Rewrite(f2); for i:=1 to n do Write(f2,A[i]:4); Close(f2); end. Сообщение отредактировано: warning777 - 26.05.2008 23:19 |
![]() ![]() |
![]() |
Текстовая версия | 19.06.2025 21:43 |