-
Notifications
You must be signed in to change notification settings - Fork 3
/
ValidInvaidSequence.cpp
56 lines (46 loc) · 1.69 KB
/
ValidInvaidSequence.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
/*
Valid-Invalid Sequence
Enter a number n. Enter n more elements such that they form a sequence.
Compute if it is possible to split up the sequence in two halves such that
first half follows the sequence of strictly decreasing and
second half follows the sequence of strictly increasing numbers.
*/
#include<iostream>
using namespace std;
int main()
{
int n,arr[100],dec,inc,checkdec,checkinc;
cout<<"Enter a number : ";
cin>>n;
if(n!=0)
{
cout<<"\nEnter "<<n<<" more elements such that first half follows the sequence of strictly decreasing and second half follows the sequence of strictly increasing :\n\n";
for(int i=0;i<n;i++)
cin>>arr[i];
dec=arr[0];
inc=arr[n/2];
for(int i=0;i<n/2;i++) //first half is computed
if(arr[i]>dec)
{
checkdec=-1; //if order is not followed, then checkdec becomes -1 and
break; //the loop will be terminated.
}
else
checkdec=1;
for(int i=n/2;i<n;i++) //second half is computed
if(arr[i]<inc)
{
checkinc=-1; //if order is not followed, then checkinc becomes -1 and
break; //the loop will be terminated.
}
else
checkinc=1;
if(checkdec!=-1&&checkinc!=-1) //if both are not -1, it means entered sequence is correct
cout<<"\nTRUE\n";
else
cout<<"\nFALSE\n";
}
else
cout<<"\nEnter a non-zero number and positive number!!!\n";
return 0;
}