Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- using namespace std;
- int main() {
- int n,sorsz;
- cout<<"Adjon meg egy pozitiv egesz szamot : "<<' ';
- cin>>n;
- while(n<1){ ///ellenorzom hogy pozitiv szamot adjon meg!
- cout<<"A szam amit megadott nem pozitiv egesz volt probalja ujra :"<<endl;
- cin>>n;
- }
- int i[n-1];
- for(sorsz=0;sorsz<n-1;++sorsz){ ///letrehozzuk az i halmazt!
- i[sorsz]=++sorsz;
- cout<<i[--sorsz]<<endl;
- }
- int a[n-1],sordb=1;
- cout<<sordb<<' ';
- for(sorsz=0;sorsz<n;++sorsz) { ///kinullazzuk az a tomb ertekeit melyben majd a sorozat elemei szerepelnek
- a[sorsz]=0;
- if(sorsz==n-1)cout<<a[sorsz]<<endl;
- else cout<<a[sorsz]<<',';
- }
- int j=n-1,k,lep=0,l=0;
- while(a[n-1]!=i[n-1]){ ///kulso ciklus itt nezem hogy elertuk e azt hogy 0 elemet is felbovitené illetve hogy az utolso elem az az i ben szereplo utolso elemmel egyenlo e
- k=n-j-1;
- while(j>0){ ///belso while itt tortenik a feltoltes
- if(lep>=2 && lep<=n){ ///ha mar tulvagyunk a 2 ciklus kiugrason akkor ez erteklodik ki
- k=l;
- while(l){
- a[n-l-1]=a[n-l];
- --l;
- }///belso while vege amig l nem 0
- a[j]=i[++k];
- j=1; ///mert itt mar mindig csak egyszer fut le a belso ciklus
- l=k;
- } ///if vege
- if(lep<2){ a[j]=i[k]; ///ha meg nemvagyunk tul a 2 ciklus iugrason akkor ez ertekelodik ki
- }
- ++sordb;
- cout<<"\n"<<sordb<<' '; ///a sor darabszamanak kiiratasa
- for(sorsz=0;sorsz<n;++sorsz) { ///az a[] ertekenek a kiiratasa a sorozat elemeinek.
- if(sorsz==n-1)cout<<a[sorsz]<<endl;
- else cout<<a[sorsz]<<',';
- }///for vege
- if(j-1!=0 && lep<1) ///az elso cikluslefutasban szukseges kinullazni a[]tombot.
- for(sorsz=0;sorsz<n;++sorsz) ///visszanullazuk -at
- a[sorsz]=0;
- --j;
- } ///belso while vege
- ++lep;
- j=n-1;
- }///kulso while vege
- cout<<endl;
- cout<<"a bekert szam"<<n<<endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment