ulvis.paste.net

Paste Search Dynamic
Recent pastes
kompresja
  1. #include<iostream>
  2. #include<string>
  3. std::string a,d,o,w1,w2,s;
  4. int l,k,w;
  5. std::string komp(std::string a);
  6. std::string dekomp(std::string a);
  7. int main(){
  8.         std::cin>>d;
  9.         if(d=="KOMPRESJA"){
  10.                 std::cin>>a;
  11.                 w=1;
  12.                 w1=komp(a);
  13.                 while(std::cin>>a){
  14.                         w2=komp(a);
  15.                         if(w1==w2){
  16.                                 w+=1;
  17.                         }
  18.                         else if(w>1){
  19.                                 std::cout<<w1<<"/"<<w<<" ";
  20.                                 w1=w2;w=1;
  21.                         }
  22.                         else{
  23.                                 std::cout<<w1<<" "<<w2<<" ";
  24.                                 w1=w2;w=1;
  25.                         }
  26.                 }
  27.                 if(w==1){std::cout<<w2;}
  28.         }
  29.         else if(d=="DEKOMPRESJA"){
  30.  
  31.         }
  32. }
  33. std::string komp(std::string a){
  34.         o="";
  35.         k=0;
  36.         while(k<a.size()){
  37.                 l=1;
  38.                 for(int j=k+1;j<a.size();j++){
  39.                         if(a[k]==a[j]){
  40.                                 l++;
  41.                         }
  42.                         else{break;}
  43.                 }
  44.                 if(l>3){
  45.                         o+=a[k];
  46.                         o+="*";
  47.                         o+=std::to_string(l);
  48.                 }
  49.                 else{
  50.                         for(int i=0;i<l;i++){o+=a[k];}
  51.                 }
  52.                 k+=l;
  53.         }
  54.         return o;              
  55. }
  56.  
Parsed in 0.008 seconds