Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- void mergesort(int a[],int i,int j);
- void merge(int a[],int i1,int j1,int i2,int j2);
- void Boxplot();
- int binary_search(int a[],int n);
- int linear_search(int a[],int n);
- int main()
- {
- int press;
- cout<<"For find Box plot or out liner data press 1"<<endl;
- cin>>press;
- if(press==1)
- {
- Boxplot();
- }
- }
- void Boxplot()
- {
- cout<<"Input Arry size"<<endl;
- int size1;
- cin>>size1;
- int A[size1];
- cout<<"Input Number"<<endl;
- for(int i=1; i<=size1; i++)
- {
- cin>>A[i];
- }
- mergesort(A,1,size1);
- int Q1,Q2,Q3,miden;
- if(size1%2!=0)
- {
- Q2=((0+size1)/2)+1;
- miden=A[Q2];
- int half=(0+(Q2-1))/2;
- Q1=(A[half]+A[half+1])/2;
- int half2=((Q2+1)+size1)/2;
- Q3=(A[half2]+A[half2+1])/2;
- }
- else
- {
- int half=(0+size1)/2;
- Q2=(A[half]+A[half+1])/2;
- miden=Q2;
- int half1=(0+half)/2;
- Q1=A[half1];
- int half2=((half+2)+size1)/2;
- Q3=A[half2];
- }
- int low=binary_search(A,size1);
- int high=linear_search(A,size1);
- int IQR=(Q3-Q1);
- int LVT=(Q1-(1.5*IQR));
- int HVT=(Q3+(1.5*IQR));
- cout<<"Q1="<<Q1<<"\n"<<"Q2="<<miden<<"\n"<<"Q3="<<Q3<<endl;
- cout<<"Low value is="<<low<<endl;
- cout<<"LVT is="<<LVT<<endl;
- cout<<"High Value is="<<high<<endl;
- cout<<"HVT="<<HVT<<endl;
- }
- void mergesort(int a[],int i,int j)
- {
- int mid;
- if(i<j)
- {
- mid=(i+j)/2;
- mergesort(a,i,mid);
- mergesort(a,mid+1,j);
- merge(a,i,mid,mid+1,j);
- }
- }
- void merge(int a[],int i1,int j1,int i2,int j2)
- {
- int temp[50];
- int i,j,k;
- i=i1;
- j=i2;
- k=0;
- while(i<=j1&&j<=j2)
- {
- if(a[i]<a[j])
- {
- temp[k++]=a[i++];
- }
- else
- {
- temp[k++]=a[j++];
- }
- }
- while(i<=j1)
- {
- temp[k++]=a[i++];
- }
- while(j<=j2)
- {
- temp[k++]=a[j++];
- }
- for(i=i1,j=0; i<=j2; i++,j++)
- {
- a[i]=temp[j];
- }
- }
- int binary_search(int a[],int n)
- {
- int low=1,high=n,mid;
- int k=1;
- mid=(low+high)/2;
- while(low<=high)
- {
- if(k==mid)
- {
- k=a[mid];
- return k;
- }
- else if(k>a[mid])
- {
- low=mid+1;
- }
- else
- {
- high=mid-1;
- }
- mid=(low+high)/2;
- }
- }
- int linear_search(int a[],int n)
- {
- int max1=0;
- for(int i=1; i<=n; i++)
- {
- if(a[i]>max1)
- {
- max1=a[i];
- }
- }
- return max1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement