fork(2) download
  1. #include <iostream>
  2. #include <string>
  3. using namespace std;
  4.  
  5. void skroc(string napis)
  6. {
  7. for (int i = 0; i < napis.length(); i++)
  8. {
  9. char litera = napis[i]; // litera ktorej powtorki szukamy
  10. bool koniec=0; // do petli while, okresla czy ma juz skonczyc sprawdzanie kolejnych znakow
  11. int licznik=i+1; // do pętli while, jest indeksem następnej liczby
  12. int ilosc = 1; // ilosc powtorek danej liczby
  13.  
  14. // pętla zliczająca kolejne powtórki
  15. while (koniec == 0)
  16. {
  17. if (litera == napis[licznik]) { licznik++; ilosc++; }
  18. else koniec=1;
  19. }
  20.  
  21. // wyświetlanie zawartości na ekran
  22. if (ilosc > 2) { cout << litera << ilosc; i = i + ilosc; }
  23. else cout << litera;
  24. }
  25. }
  26.  
  27. int main()
  28. {
  29. int C;
  30. cin >> C;
  31.  
  32. for (int i = 1; i <= C; i++)
  33. {
  34. string napis;
  35. cin >> napis;
  36. skroc(napis);
  37. cout << endl;
  38. }
  39.  
  40.  
  41.  
  42. cout << endl; system("pause");
  43. return 0;
  44. }
  45.  
  46.  
Success #stdin #stdout #stderr 0s 16064KB
stdin
4
OPSS
ABCDEF
ABBCCCDDDDEEEEEFGGHIIJKKKL
AAAAAAAAAABBBBBBBBBBBBBBBB
stdout
OPSS
ABCDEF
ABBC3D3E4GGHIIJK3
A10B15

stderr
sh: 1: pause: not found