主题:[讨论]数列问题:转折元素
世界型帅哥
[专家分:0] 发布于 2006-11-14 18:52:00
4、给定一个互异的整数数列,可将该数列分成若干个递增和递减的子序列,例如:7,2,6,8,4,9,5,3,1,7,可以拆成这样一些子序列:7,2;2,6,8;8,4;4,9;9,5,3,1;1,7。而处于递增和递减序列交界处的元素称为转折元素。如下面的2,8,4,9,1。编程求出给定序列的所有转折元素。
回复列表 (共2个回复)
沙发
moz [专家分:37620] 发布于 2006-11-14 20:23:00
用符号函数就可以了。
不知道会不会有相等的相邻数,该如何处理?
for i=2 to ubound(a)-1
if sgn(a(i)-a(i-1))=sgn(a(i)-a(i+1)) then print a(i);
next
板凳
Matodied [专家分:7560] 发布于 2007-05-07 18:33:00
CLS
INPUT n
DIM a(n): FOR i = 1 TO n: INPUT a(i): NEXT i
a$ = " "
FOR i = 2 TO n
IF a(i) > a(i - 1) THEN a$ = a$ + "b" ELSE a$ = a$ + "s"
NEXT i
FOR i = 2 TO n - 1
IF MID$(a$, i, 1) <> MID$(a$, i + 1, 1) THEN PRINT a(i);
NEXT i
END
我来回复