L6_T1
unknown
c_cpp
3 years ago
1.4 kB
8
Indexable
// Example program #include <iostream> #include <string> const int STRLEN = 20; using namespace std; bool CharBelongsTo(char ch, char str[], int n); int SupportDividorsCount(char[], int); int main() { char *str = new char[STRLEN]; cout << "Input string: " << endl; cin.getline(str, STRLEN); cout << str; cout << endl; cout << SupportDividorsCount(str, STRLEN); delete []str; } int SupportDividorsCount(char *str, int n) { char consonants[] = {'b', 'c', 'd', 'f', 'g', 'h', 'j', 'k', 'l', 'm', 'n', 'p', 'q', 'r', 's', 't', 'v', 'w', 'x', 'y', 'z'}; int consonantsCount = sizeof(consonants) / sizeof(char); char dividors[] = {'-', ' '}; int dividorsCount = sizeof(dividors) / sizeof(char); int suppDivCnt = 0; for(int i = 2; str[i] != '\0'; i++) { //cout << str[i - 2] << str[i - 1] << str[i] << endl; if(CharBelongsTo(str[i - 2], consonants, consonantsCount) && CharBelongsTo(str[i - 1], dividors, dividorsCount) && CharBelongsTo(str[i], consonants, consonantsCount)) { suppDivCnt++; } } return suppDivCnt; } bool CharBelongsTo(char ch, char str[], int n) { bool belongsTo = false; for(int i = 0; str[i] != '\0'; i++) { if(str[i] == ch) { belongsTo = true; break; } } return belongsTo; }
Editor is loading...