C++编程题,求转换元素,帮帮新手给定一串整数数列,求出所有的递增和递解数列的转换元素.如:数列 7 2 6 9 8 3 5 2 1 可分为(7,2),(2,6,9),(9,8,3),(3,5),(5,2,1)五个子序列,称2,9,3,5为转换
来源:学生作业帮助网 编辑:六六作业网 时间:2025/01/11 06:50:21
C++编程题,求转换元素,帮帮新手给定一串整数数列,求出所有的递增和递解数列的转换元素.如:数列 7 2 6 9 8 3 5 2 1 可分为(7,2),(2,6,9),(9,8,3),(3,5),(5,2,1)五个子序列,称2,9,3,5为转换
C++编程题,求转换元素,帮帮新手
给定一串整数数列,求出所有的递增和递解数列的转换元素.
如:数列 7 2 6 9 8 3 5 2 1 可分为(7,2),(2,6,9),(9,8,3),(3,5),(5,2,1)五个子序列,称2,9,3,5为转换元素.
输入
输入数据为多组数据,每两行为一个输入,其中第一行为数列整数个数N,第二行为数列中的N个整数.(当N为0时,结束输入)
输出
输出数据对应输入,每行给出每组数字的转换元素.
样例输入
97 2 6 9 8 3 5 2 151 2 3 2 10
样例输出
2 9 3 5 3
C++编程题,求转换元素,帮帮新手给定一串整数数列,求出所有的递增和递解数列的转换元素.如:数列 7 2 6 9 8 3 5 2 1 可分为(7,2),(2,6,9),(9,8,3),(3,5),(5,2,1)五个子序列,称2,9,3,5为转换
//我这里相等也算递增
void ChangePoint()
{
bool isup = true;
bool isfirst = true;
int currentNum = 0;
int length = 0;
int temp = 0;
int inputNum[255];
std::cin>>length;
for(int i = 0; i < length; ++i)
{
std::cin>>inputNum[i];
}
if(length>2)
{
if(inputNum[0] > inputNum[1])
isup = false;
else
isup = true;
int index = 2;
currentNum = inputNum[1];
while(index!=length)
{
if(isup)
{
if(inputNum[index] < inputNum[index - 1])
{
isup = false;
if(isfirst)
{
isfirst = false;
std::cout<<inputNum[index - 1];
}
else
std::cout<<" "<<inputNum[index - 1];
}
}
else
{
if(inputNum[index] >= inputNum[index - 1])
{
isup = true;
if(isfirst)
{
isfirst = false;
std::cout<<inputNum[index - 1];
}
else
std::cout<<" "<<inputNum[index - 1];
}
}
++index;
}
}
}