Моя ася 5515795 заплачу 50р

Сдавать послезавтра !
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
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 - |
![]() ![]() |
![]() |
Текстовая версия | 9.09.2025 7:47 |