Advertisement
Guest User

Untitled

a guest
Jan 21st, 2020
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.52 KB | None | 0 0
  1. #include <ctype.h>
  2. char* serpentino_encode(const char* s) {
  3. unsigned int i = 0,vocali=0,consonanti=0;
  4. while (s[i] != 0) {
  5. if (isalpha(s[i])||isprint(s[i]) || isspace(s[i])) {
  6. switch (s[i]) {
  7. case 'a': vocali++; break;
  8. case 'e': vocali++; break;
  9. case 'i': vocali++; break;
  10. case 'o': vocali++; break;
  11. case 'u': vocali++; break;
  12. default:consonanti++; break;
  13. }
  14. }
  15. i++;
  16. }
  17. int lungs2 = vocali * 3 + consonanti+1;
  18. char *s2=malloc(lungs2*sizeof(char));
  19. i = 0;
  20. int j = 0;
  21. while (s[i] != 0) {
  22. if (isalpha(s[i]) || isprint(s[i]) || isspace(s[i])) {
  23. switch (s[i]) {
  24. case 'a': {
  25. for (int k = 0; k < 3; k++) {
  26. if (k == 1) {
  27. s2[j] = 's';
  28. }
  29. else {
  30. s2[j] = 'a';
  31. }
  32. j++;
  33. }
  34. }; break;
  35. case 'e': {
  36. for (int k = 0; k < 3; k++) {
  37. if (k == 1) {
  38. s2[j] = 's';
  39. }
  40. else {
  41. s2[j] = 'e';
  42. }
  43. j++;
  44. }
  45. }; break;
  46. case 'i': {
  47. for (int k = 0; k < 3; k++) {
  48. if (k == 1) {
  49. s2[j] = 's';
  50. }
  51. else {
  52. s2[j] = 'i';
  53. }j++;
  54. }
  55. }; break;
  56. case 'o': {
  57. for (int k = 0; k < 3; k++) {
  58. if (k == 1) {
  59. s2[j] = 's';
  60. }
  61. else {
  62. s2[j] = 'o';
  63. }
  64. j++;
  65. }
  66. }; break;
  67. case 'u':{
  68. for (int k = 0; k < 3; k++) {
  69. if (k == 1) {
  70. s2[j] = 's';
  71. }
  72. else {
  73. s2[j] = 'u';
  74. }
  75. j++;
  76. }
  77. }; break;
  78. default:s2[j] = s[i];j++; break;
  79. }
  80. }
  81. i++;
  82. }
  83. s2[j] = 0;
  84. return s2;
  85. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement