fork(3) download
  1. #include <iostream>
  2. #include <string>
  3.  
  4. using namespace std;
  5.  
  6. int main()
  7. {
  8. int C,flag=0;
  9. cin>>C;
  10. if(1<=C&&C<=50)
  11. {
  12. for (int j=1; j<=C; j++)
  13. {
  14. string wyrazenie;
  15. cin>>wyrazenie;
  16. int counter=2;
  17. flag=0;
  18. if (wyrazenie.length()>200) flag=1;
  19.  
  20. for (int k=0; k<=wyrazenie.length()-1; k++)
  21. {
  22. if (wyrazenie[k]>=65&&wyrazenie[k]<=90&&wyrazenie[k]) flag=0;
  23. else {flag=1; break;}
  24. }
  25.  
  26. if(flag==0)
  27. {
  28. for(int i=0; i<=wyrazenie.length(); i++)
  29. {
  30. if (wyrazenie[i-2]==wyrazenie[i]&&wyrazenie[i-1]==wyrazenie[i]) counter+=1;//jeśli znajdziesz sekwencję więcej niż 2 takich samych liter z rzędu, zacznij liczyć te litery
  31.  
  32. if (counter>=3&&wyrazenie[i+1]!=wyrazenie[i])//na końcu sekwencji więcej niż 2 takich samych liter wyświetl pojedynczą literę oraz liczbę wystąpień
  33. {
  34. cout<<wyrazenie[i]<<counter;
  35. counter=2;
  36. }
  37. if (wyrazenie[i-1]!=wyrazenie[i]&&wyrazenie[i+1]!=wyrazenie[i]) cout<<wyrazenie[i];//pojedyncze litery wyświetlaj bez zmian
  38. if (wyrazenie[i-1]==wyrazenie[i]&&wyrazenie[i-2]!=wyrazenie[i]&&wyrazenie[i+1]!=wyrazenie[i])//sekwencje 2 takich samych liter wyświetlaj bez zmian
  39. cout<<wyrazenie[i]<<wyrazenie[i];
  40. }
  41. }
  42.  
  43. }
  44. }
  45. }
Success #stdin #stdout 0s 15240KB
stdin
Standard input is empty
stdout
Standard output is empty