C++ 查找升序列表中降序的第一个和最后一个数字
我试图找到一种方法来编写一个程序,它将接受“n”的术语,并找出它是否在上升。如果列表不是升序的,则查找违反此顺序的第一个数字并打印其索引位置i,然后查找违反此顺序的最后一个数字 例:2 3 4 2 3 4 1- 输出应该是:元素#4是递减的,元素#9是最后一个递减的 编辑:我已经解决了如何找到第一个数字,而不是最后一个数字 这是我的密码:C++ 查找升序列表中降序的第一个和最后一个数字,c++,sorting,C++,Sorting,我试图找到一种方法来编写一个程序,它将接受“n”的术语,并找出它是否在上升。如果列表不是升序的,则查找违反此顺序的第一个数字并打印其索引位置i,然后查找违反此顺序的最后一个数字 例:2 3 4 2 3 4 1- 输出应该是:元素#4是递减的,元素#9是最后一个递减的 编辑:我已经解决了如何找到第一个数字,而不是最后一个数字 这是我的密码: #include <iostream> using namespace std; int main(){ int num, input
#include <iostream>
using namespace std;
int main(){
int num, inputNum, i;
int nextNum=0;
int violator1=0, violator2=0;
int elementNum1=0, flag1=0;
int elementNum2=0, flag2=0;
cout << "Enter how much numbers you want to enter in list: ";
cin >> num;
for (i = 0; i < num; i++){
cout << "Please enter a number: ";
cin >> inputNum;
if (inputNum >= nextNum){
nextNum = inputNum;
}
else {
flag1 = 1; /*The flag is set to '0' when the next number in list has descended*/
violator1 = inputNum;
if (elementNum1 == 0) /*This condition will only run once because elementNum == 0 only once*/
elementNum1 = i+1;
}
}
/*The flag value is determined within the loop to find the descending value*/
if (flag == 0){ /*If the flag is UNchanged ie = 1*/
cout << "These numbers are in ascending order." << endl;
}
else {
cout << "These numbers are NOT in ascending order." << endl;
cout << "Element Number '" << elementNum << "' was the violating number." << endl;
}
return 0;
}
#包括
使用名称空间std;
int main(){
int num,inputNum,i;
int nextNum=0;
int violator1=0,violator2=0;
int elementNum1=0,flag1=0;
int elementNum2=0,flag2=0;
cout>num;
对于(i=0;iinputNum;
如果(inputNum>=nextNum){
nextNum=inputNum;
}
否则{
flag1=1;/*当列表中的下一个数字下降时,该标志设置为“0”*/
violator1=输入数量;
如果(elementNum1==0)/*此条件将只运行一次,因为elementNum==0只运行一次*/
元素num1=i+1;
}
}
/*在循环中确定标志值以查找递减值*/
如果(标志==0){/*如果标志不变,即=1*/
我已经猜出这个了
要查找在某一点下降的列表中的最后一个违规者,必须初始化一个新标志,并在找到第一个违规者后将其设置为更改
在我上面的例子中,在找到第一个违规者之后,element1==0的条件应该是false。一旦该条件失败,需要有一个else语句将新标志更改为非1的内容,以及一个新的element2变量,该变量会在每次找到违规者时更改索引号。它是否有效?是吗你和我们分享一个好的解决方案,或者你有问题吗?程序中的flag和elementNum声明在哪里?