02.06.2014, 21:27 | #1 (permalink) |
Member
Регистрация: 16.04.2014
Сообщений: 51
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Pascal, задача
Код:
Function F:real; {+$F} Function F(x:real):real; begin f:=x; end; {-$F} Procedure Razd(var a:Vect;m:byte;F:REAL;k:byte); var i,j:byte; x:real; p:boolean; begin i:=1; j:=m; while i<j do begin if a[i]>=0 then begin p:=true; while (j>i) and (p=true) do if a[j]<0 then begin x:=a[i]; a[i]:=a[i+1]; a[i+1]:=k; p:=false; end; end; j:=j-1; end; i:=i+1; end; begin if j=m then begin k:=J+1; end else begin If p=true then begin k:=i-1; end else begin k:=j; end; end; end; А(М) - вектор К - параметр которому присваивается номер того элемента , с которого начинается вторая часть переставленного массива. Прошу помощи. |
02.06.2014, 21:27 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Темы, которые аналогичны вашей так же встречались на нашем форуме Задача. Pascal Pascal, задача Задача Pascal ABC Задача на множества Pascal ABC Pascal задача |
03.06.2014, 11:39 | #2 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Про всё, что связано с буквой F, я ни бельмеса не понял, ни в смысле "функции", ни в смысле параметра процедуры. То есть не понял настолько, что и пытаться бесполезно. А вот по массиву - хотелось бы уточнить задание: допустимо ли произвольное расположение элементов в новом массиве (лишь бы сначала отрицательные), либо массив должен быть упорядочен, либо порядок следования как положительных, так и отрицательных элементов должен быть сохранен, либо порядок следования требуется сохранить для какой-либо одной группы?
|
03.06.2014, 14:26 | #4 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Знаете... я в некоторой растерянности. Потому что сколько имею дело с Паскалем, но такого, чтобы имя внешней функции загонять в список формальных параметров процедуры - не видел. Кто-то из нас, либо я, либо Ваши преподы, того...
Ну ладно, а не хотите рассмотреть такой вариант (функцию нужно задать отдельно): Код:
Procedure Razd(var a:Vect; m:byte; var k:byte); var: i,p,q:byte; b,c:Vect; begin p:=0; q:=0; for i:=1 to m do if F(a[i])<0 then begin Inc(p); b[p]:=a[i]; end; else begin Inc(q); c[q]:=a[i]; end; for i:=1 to p do a[i]:=b[i]; for i:=1 to q do a[p+i]:=c[i]; k:=p+1; end; |
03.06.2014, 17:09 | #5 (permalink) |
Member
Регистрация: 16.04.2014
Сообщений: 51
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Благодарю!
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
Опции темы | |
Опции просмотра | |
|
|