Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "stdio.h"
- #include "string.h"
- #include <malloc.h>
- int isV(char s);
- int isL(char s);
- int isC(char s);
- int sillabs(char* s);
- char* sillaba(char* s);
- int main()
- {
- char* word = "ciao";
- printf("%s\n",sillaba("evadererere"));
- }
- char* sillaba(char* s) {
- int sillabe = sillabs(s);
- char* sp = malloc(sizeof(char)*(strlen(s)+sillabe - 1));
- char* p = sp;
- int l = 0;
- if (isV(*(s))) {
- *sp = *s;
- *(sp + 1) = '-';
- l++;
- s++;
- sp += 1 + l;
- }
- for (; *s; s++, sp++) {
- if (isC(*s)) {
- if (isV(*(s + 1))) {
- *(sp) = *s;
- *(sp + 1) = *(s+1);
- if (*(s + 2) == '\0') {
- *(sp + 2) = '\0';
- contaSillabe(p);
- return p;
- }
- *(sp + 2) = '-';
- l++;
- sp += 2;
- s++;
- }
- }
- }
- contaSillabe(p);
- return p;
- }
- int isV(char s) {
- char* vocals = "aeiou";
- if (!isL(s)) return 0;
- for (; *vocals; vocals++) if (s==*vocals) return 1;
- return 0;
- }
- int isC(char s) {
- return !isV(s) && isL(s);
- }
- int isL(char s) {
- if ((s <= 'Z' && s >= 'A') || (s <= 'z'&&s >='a' ))return 1;
- else return 0;
- }
- int sillabs(char* s) {
- int sillabe = 0;
- if (isV(*(s))) sillabe++;
- for (; *s; s++) {
- if (isC(*s)) {
- if (isV(*(s + 1)) || *(s + 1) == '\0') {
- sillabe++;
- }
- }
- }
- return sillabe;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement