Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <ctype.h>
- char* serpentino_encode(const char* s) {
- unsigned int i = 0,vocali=0,consonanti=0;
- while (s[i] != 0) {
- if (isalpha(s[i])||isprint(s[i]) || isspace(s[i])) {
- switch (s[i]) {
- case 'a': vocali++; break;
- case 'e': vocali++; break;
- case 'i': vocali++; break;
- case 'o': vocali++; break;
- case 'u': vocali++; break;
- default:consonanti++; break;
- }
- }
- i++;
- }
- int lungs2 = vocali * 3 + consonanti+1;
- char *s2=malloc(lungs2*sizeof(char));
- i = 0;
- int j = 0;
- while (s[i] != 0) {
- if (isalpha(s[i]) || isprint(s[i]) || isspace(s[i])) {
- switch (s[i]) {
- case 'a': {
- for (int k = 0; k < 3; k++) {
- if (k == 1) {
- s2[j] = 's';
- }
- else {
- s2[j] = 'a';
- }
- j++;
- }
- }; break;
- case 'e': {
- for (int k = 0; k < 3; k++) {
- if (k == 1) {
- s2[j] = 's';
- }
- else {
- s2[j] = 'e';
- }
- j++;
- }
- }; break;
- case 'i': {
- for (int k = 0; k < 3; k++) {
- if (k == 1) {
- s2[j] = 's';
- }
- else {
- s2[j] = 'i';
- }j++;
- }
- }; break;
- case 'o': {
- for (int k = 0; k < 3; k++) {
- if (k == 1) {
- s2[j] = 's';
- }
- else {
- s2[j] = 'o';
- }
- j++;
- }
- }; break;
- case 'u':{
- for (int k = 0; k < 3; k++) {
- if (k == 1) {
- s2[j] = 's';
- }
- else {
- s2[j] = 'u';
- }
- j++;
- }
- }; break;
- default:s2[j] = s[i];j++; break;
- }
- }
- i++;
- }
- s2[j] = 0;
- return s2;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement