Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- void wprowadzanie(int tab[],int n)
- {
- for(int i=0;i<n;i++)
- {
- cout<<"Podaj liczbe nr "<<i+1<<endl;
- cin>>tab[i];
- cout<<endl;
- }
- }
- int flagapolska(int tab[],int n)
- {
- int p=0, k=n-1;
- while(p<k)
- {
- while(p<n-1 && tab[p]%2==0) p++;
- while(k>=0 && tab[k]%2==1) k--;
- if(p<k)
- {
- swap(tab[p],tab[k]);
- }
- }
- return k;
- }
- void qsort(int tab[], int l, int p) {
- int i=l-1;
- int j=p+1;
- int sr=tab[(l+p)/2];
- while(1) {
- while(sr>tab[++i]);
- while(sr<tab[--j]);
- if (i<=j) swap(tab[i],tab[j]);
- else break;
- }
- if(j>l) qsort(tab,l,j);
- if(i<p) qsort(tab,i,p);
- }
- int przedzial(int tab[],int k,int r)
- {
- int maxp=0,akp=0;
- int imaxp=0,iakp=0;
- for(int i=0;i<k-1;i++)
- {
- for(int j=i;j<k-1;j++)
- {
- akp=0;
- if(tab[j]<=tab[i]+r)
- {
- akp++;
- iakp=j;
- }
- }
- if(akp>maxp)
- {
- maxp=akp;
- imaxp=iakp;
- }
- }
- return imaxp;
- }
- void wyswietlanie(int tab[],int n)
- {
- for(int i=0;i<n;i++)
- {
- cout<<tab[i]<<endl;
- }
- }
- int main()
- {
- int n;
- cout<<"Podaj ile liczb"<<endl;
- cin>>n;
- int tab[n];
- wprowadzanie(tab,n);
- int pom=flagapolska(tab,n);
- qsort(tab,0,pom);
- //wyswietlanie(tab,n);
- int r;
- cout<<"Podaj R"<<endl;
- cin>>r;
- int wynik=przedzial(tab,pom,r);
- cout<<"Przedzial:"<<tab[wynik]<<"-"<<tab[wynik]+r<<endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement