SHARE
TWEET

Untitled

a guest Jan 21st, 2020 67 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Top