Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- char isUpper (char c) { return c >= 'A' && c <= 'Z'; } // check huruf besar atau bukan
- char isLower (char c) { return c >= 'a' && c <= 'z'; } // check huruf kecil atau bukan
- char isLetter (char c) { return isUpper(c) || isLower(c); } // check huruf atau bukan
- char toLower (char c) { return isUpper(c) ? c - 32 : c; } // ubah huruf besar jadi lowercase
- char isA (char c) { return toLower(c) == 'a'; } // check huruf a atau bukan
- char isI (char c) { return toLower(c) == 'i'; } // check huruf i atau bukan
- char isU (char c) { return toLower(c) == 'u'; } // check huruf u atau bukan
- char isE (char c) { return toLower(c) == 'e'; } // check huruf e atau bukan
- char isO (char c) { return toLower(c) == 'o'; } // check huruf o atau bukan
- char isVowel(char c) { return isA(c) || isI(c) || isU(c) || isE(c) || isO(c); } // check vowel atau bukan
- int len (char *w) { // check panjang sebuah kata
- int i = 0;
- while(w[i++]);
- return i;
- }
- int main () {
- char text[100000] = "abcd e f g h ijklmno p q r s t uv w x y z qoibio fbaoid dkasdl nln qiwd daobd aklsd qlwe blq bpanpz;lcn z;c"; // hasilnya harusnya vowel 5 consonant 21
- int isExist[26] = {0}; // buat ngecheck dia udah pernah ada atau belum
- int totalVowel = 0; // buat totalin Vowel
- int totalConsonant = 0; // buat totalin Consonant
- int length = len(text); // ambil panjang dari text
- for (int i = 0 ; i < length ; ++i) { // looping dari awal character sampe akhir
- char currentCharacter = toLower(text[i]); // ambil character dari text ubah jadi huruf kecil
- int currentCharacterIndex = currentCharacter - 97; // a jadi 0, b jadi 1, dst
- if ( isLetter(currentCharacter) && isExist[currentCharacterIndex] == 0 ) { // jika dia huruf DAN dia sebelumnya belum pernah dihitung
- if (isVowel(currentCharacter)) ++totalVowel; // jika dia vowel, tambahin yg vowel
- else ++totalConsonant; // kalo engga, tambahin yang consonant
- }
- isExist[currentCharacterIndex] = 1; // ubah jadi 1 biar pas ngecheck di LINE 38, ga ke duplicated, dianggap sudah pernah dihitung
- }
- printf("word: %s | vowel: %d | consonant: %d\n", text, totalVowel, totalConsonant); // print
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement