Guest User

Untitled

a guest
May 20th, 2013
28
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.20 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3.  
  4. using namespace std;
  5.  
  6. int main() {
  7. int n,sorsz;
  8.  
  9. cout<<"Adjon meg egy pozitiv egesz szamot : "<<' ';
  10. cin>>n;
  11.  
  12. while(n<1){ ///ellenorzom hogy pozitiv szamot adjon meg!
  13.  
  14.     cout<<"A szam amit megadott nem pozitiv egesz volt probalja ujra :"<<endl;
  15.     cin>>n;
  16. }
  17. int i[n-1];
  18. for(sorsz=0;sorsz<n-1;++sorsz){             ///letrehozzuk az i halmazt!
  19.     i[sorsz]=++sorsz;
  20.     cout<<i[--sorsz]<<endl;
  21. }
  22. int a[n-1],sordb=1;
  23. cout<<sordb<<' ';
  24. for(sorsz=0;sorsz<n;++sorsz) {         ///kinullazzuk az a tomb ertekeit melyben majd a sorozat elemei szerepelnek
  25.     a[sorsz]=0;
  26.     if(sorsz==n-1)cout<<a[sorsz]<<endl;
  27.         else  cout<<a[sorsz]<<',';
  28. }
  29. int j=n-1,k,lep=0,l=0;
  30.  
  31. 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
  32.     k=n-j-1;
  33.  
  34.     while(j>0){                     ///belso while itt tortenik a feltoltes
  35.  
  36.              if(lep>=2 && lep<=n){  ///ha mar tulvagyunk a 2 ciklus kiugrason akkor ez erteklodik ki
  37.                 k=l;
  38.                 while(l){
  39.                 a[n-l-1]=a[n-l];
  40.                 --l;
  41.                 }///belso while vege amig l nem 0
  42.  
  43.                 a[j]=i[++k];
  44.                 j=1;                    ///mert itt mar mindig csak egyszer fut le a belso ciklus
  45.                 l=k;
  46.             } ///if vege
  47.            if(lep<2){ a[j]=i[k];    ///ha meg nemvagyunk tul a 2 ciklus iugrason akkor ez ertekelodik ki
  48.            }
  49.  
  50.  
  51.             ++sordb;
  52.             cout<<"\n"<<sordb<<' ';         ///a sor darabszamanak kiiratasa
  53.  
  54.             for(sorsz=0;sorsz<n;++sorsz) {      ///az a[] ertekenek a kiiratasa a sorozat elemeinek.
  55.                 if(sorsz==n-1)cout<<a[sorsz]<<endl;
  56.                 else  cout<<a[sorsz]<<',';
  57.             }///for vege
  58.             if(j-1!=0 && lep<1)             ///az elso cikluslefutasban szukseges kinullazni a[]tombot.
  59.             for(sorsz=0;sorsz<n;++sorsz) ///visszanullazuk -at
  60.                 a[sorsz]=0;
  61.  
  62.             --j;
  63.     }   ///belso while vege
  64.     ++lep;
  65.     j=n-1;
  66. }///kulso while vege
  67. cout<<endl;
  68.  
  69.  
  70. cout<<"a bekert szam"<<n<<endl;
  71. return 0;
  72. }
Advertisement
Add Comment
Please, Sign In to add comment