Guest User

Untitled

a guest
Feb 20th, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.86 KB | None | 0 0
  1.  bool Pala::kaanna_pala(int kierroslkm){
  2.     //kääntää palan kierroslkm:n osoittaman määrän
  3.     if(kierroslkm >3 or kierroslkm <1){
  4.         cerr<<"Virhe: kierroslukumäärä ei sallittu."<<endl;
  5.         return false;
  6.     }
  7.     vector<int> sivut(lue_sivut());
  8.     vector<int> jarjestetytsivut(4,0);
  9.     string jarjestetytmerkit;
  10.     string merkit = lue_merkit();
  11.  
  12.     // järjestetään sivut ja merkit kierroslkm osoittamaan järjestykseen:
  13.     if(kierroslkm==1){
  14.         //tarkistetaan löytyykö käännettäessä muutettavia merkkejä:
  15.         for(int i=0;i<9;i++){
  16.             if(merkit.at(i)=='/'){
  17.                 cout<<"tissit"<<endl;
  18.                 merkit.at(i)= '\\';
  19.             }
  20.             else if (merkit.at(i)=='\\'){
  21.                 merkit.at(i)='/';
  22.             }
  23.             else if (merkit.at(i)=='!'){
  24.                 merkit.at(i)='-';
  25.             }
  26.             else if (merkit.at(i)=='-'){
  27.                 merkit.at(i)='!';
  28.             }
  29.         }
  30.         jarjestetytsivut.at(1)=sivut.at(0);
  31.         jarjestetytsivut.at(2)=sivut.at(1);
  32.         jarjestetytsivut.at(3)=sivut.at(2);
  33.         jarjestetytsivut.at(0)=sivut.at(3);
  34.         jarjestetytmerkit.push_back(merkit[6]);
  35.         jarjestetytmerkit.push_back(merkit[3]);
  36.         jarjestetytmerkit.push_back(merkit[0]);
  37.         jarjestetytmerkit.push_back(merkit[7]);
  38.         jarjestetytmerkit.push_back(merkit[4]);
  39.         jarjestetytmerkit.push_back(merkit[1]);
  40.         jarjestetytmerkit.push_back(merkit[8]);
  41.         jarjestetytmerkit.push_back(merkit[5]);
  42.         jarjestetytmerkit.push_back(merkit[2]);
  43.     }
  44.     if(kierroslkm==2){
  45.         // kaksi kierrosta käännettäessä ei ole muutettavia merkkejä
  46.         jarjestetytsivut.at(1)=sivut.at(3);
  47.         jarjestetytsivut.at(2)=sivut.at(0);
  48.         jarjestetytsivut.at(3)=sivut.at(1);
  49.         jarjestetytsivut.at(0)=sivut.at(2);
  50.         jarjestetytmerkit.push_back(merkit[8]);
  51.         jarjestetytmerkit.push_back(merkit[7]);
  52.         jarjestetytmerkit.push_back(merkit[6]);
  53.         jarjestetytmerkit.push_back(merkit[5]);
  54.         jarjestetytmerkit.push_back(merkit[4]);
  55.         jarjestetytmerkit.push_back(merkit[3]);
  56.         jarjestetytmerkit.push_back(merkit[2]);
  57.         jarjestetytmerkit.push_back(merkit[1]);
  58.         jarjestetytmerkit.push_back(merkit[0]);
  59.     }
  60.    if(kierroslkm==3){
  61.         // tarkistetaan jälleen onko muutettavia merkkejä:
  62.         for(int i=0;i<9;i++){
  63.             if(merkit.at(i)=='/'){
  64.                 cout<<"tissit"<<endl;
  65.                 merkit.at(i)= '\\';
  66.             }
  67.             else if (merkit.at(i)=='\\'){
  68.                 merkit.at(i)='/';
  69.             }
  70.             else if (merkit.at(i)=='!'){
  71.                 merkit.at(i)='-';
  72.             }
  73.             else if (merkit.at(i)=='-'){
  74.                 merkit.at(i)='!';
  75.             }
  76.         }
  77.         jarjestetytsivut.at(1)=sivut.at(2);
  78.         jarjestetytsivut.at(2)=sivut.at(3);
  79.         jarjestetytsivut.at(3)=sivut.at(0);
  80.         jarjestetytsivut.at(0)=sivut.at(1);
  81.         jarjestetytmerkit.push_back(merkit[2]);
  82.         jarjestetytmerkit.push_back(merkit[5]);
  83.         jarjestetytmerkit.push_back(merkit[8]);
  84.         jarjestetytmerkit.push_back(merkit[1]);
  85.         jarjestetytmerkit.push_back(merkit[4]);
  86.         jarjestetytmerkit.push_back(merkit[7]);
  87.         jarjestetytmerkit.push_back(merkit[0]);
  88.         jarjestetytmerkit.push_back(merkit[3]);
  89.         jarjestetytmerkit.push_back(merkit[6]);
  90.     }
  91.     //tallennetaan käännetyt sivut ja merkit:
  92.     muuta_sivut(jarjestetytsivut);
  93.     muuta_merkit(jarjestetytmerkit);
  94.  
  95.     cout<<"käännetyt merkit:"<<merkit_<<endl;
  96.     cout<<"alkup vektori:"<<endl;
  97.     for(int i=0;i<4;i++){
  98.         cout<<sivut.at(i)<<" ";
  99.     }
  100.     cout<<endl<<"käännetty vektori:"<<endl;
  101.     for(int i=0;i<4;i++){
  102.         cout<<sivut_.at(i)<<" ";
  103.     }
  104.     cout<<endl;
  105.  
  106.         return true;
Add Comment
Please, Sign In to add comment