fork(1) download
  1. #include <iostream>
  2. #include <cstring>
  3. using namespace std;
  4.  
  5. const long long MAX_SIZE = 2000;
  6.  
  7. int main() {
  8. char array[MAX_SIZE + 1];
  9. long long lg, j;
  10. char letters = 0, words = 0;
  11. while (!cin.eof()) {
  12. cin.getline(array, MAX_SIZE + 1);
  13. lg = strlen(array);
  14. for(int i = 0; i < lg; ++i) {
  15. if ((array[i] >= 'A' && array[i] <= 'Z') || (array[i] >= 'a' && array[i] <= 'z')) {
  16. ++letters;
  17. words = 1;
  18. } else if (words == 1) {
  19. long long inverse_word = i - letters;
  20. for (int j = inverse_word; j < inverse_word + letters / 2; ++j) {
  21. char aux = array[j];
  22. array[j] = array[(letters + 1) / 2 + j];
  23. array[(letters + 1) / 2 + j] = aux;
  24. }
  25. letters = 0;
  26. words = 0;
  27. }
  28. cout << array[j];
  29. }
  30.  
  31. }
  32. return 0;
  33. }
Success #stdin #stdout 0.01s 5544KB
stdin
Se dă un text format 
din mai multe cuvinte, 
semne de punctuație și caractere speciale care pot fi stocate folosind char. Să se interschimbe pentru fiecare cuvânt prima parte a sa cu ultima parte a sa. În cazul în care cuvântul are lungime impară, litera din mijloc rămâne pe poziția sa.
Un cuvânt este o succesiune de litere mari și mici ale alfabetului englez.
Date de intrare
Se va citi textul, care se poate afla pe mai multe linii.
Date de ieșire
Programul va afișa textul după aplicarea transformărilor cerute.
Restricții și precizări
Lungimea totală a textului este mai mică sau egală cu 2 000.
Exemple
Date de intrare
stdout
SSeeeeeeeeeeeeeeeeeeeedddnnnnnnnnnnnnnnnnnnnnsssssnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnUUnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnDDDDtttttttttttSS�������������������������������������������������������DDDDtttttttttttPPPPPPPPPmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmRRRRRRRrrrrrrrrrrrrrrrrrrrLLLLLLLLmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmEEEEEEEDDDDSSSSSSSSSSS