Please help with the bolded functions: I need to implement the following two functions that get a string, and compute an array of non-empty tokens of the string containing only lower-case letters. For example: ● For a string "abc EFaG hi", the list of tokens with only lower-case letters is ["abc", "hi"]. ● For a string "ab 12 ef hi ", the list of such tokens is ["ab","ef","hi"]. ● For a string "abc 12EFG hi ", the list of such tokens is ["ab","hi"]. ● For a string " abc ", the list of such tokens is ["abc"]. ● For a string "+*abc!! B" the list of such tokens is empty. That is, we break the string using the spaces as delimiters (ascii value 32), and look only at the tokens with lower-case letters only . Q1. The function count_tokens gets a string str, and returns the number of such tokens. int count_tokens(const char* str); For example: ● count_tokens("abc EFaG hi") needs to return 2. ● count_tokens("ab 12 ef hi") needs to return 3. ● count_tokens("ab12ef+") needs to return 0. Q2. The function get_tokens gets a string str, and returns the array with the tokens containing only lower-case letters in the correct order. The length of the array should be the number of tokens, computed in count_tokens. char** get_tokens(const char* str); For example: ● get_tokens("abc EFaG hi") needs to return ["abc","hi"] ● get_tokens("++a+ b + c") needs to return ["b","c"]. ● get_tokens("ab12ef+") needs to return either NULL or an empty array. Remark: Note that the returned array and the strings in it must all be dynamically allocated.
Please help with the bolded functions:
I need to implement the following two functions that get a string, and compute an array of non-empty tokens of the string containing only lower-case letters. For example:
● For a string "abc EFaG hi", the list of tokens with only lower-case letters is ["abc", "hi"].
● For a string "ab 12 ef hi ", the list of such tokens is ["ab","ef","hi"].
● For a string "abc 12EFG hi ", the list of such tokens is ["ab","hi"].
● For a string " abc ", the list of such tokens is ["abc"].
● For a string "+*abc!! B" the list of such tokens is empty.
That is, we break the string using the spaces as delimiters (ascii value 32), and look only at the tokens with lower-case letters only .
Q1. The function count_tokens gets a string str, and returns the number of
such tokens.
int count_tokens(const char* str);
For example:
● count_tokens("abc EFaG hi") needs to return 2.
● count_tokens("ab 12 ef hi") needs to return 3.
● count_tokens("ab12ef+") needs to return 0.
Q2. The function get_tokens gets a string str, and returns the array with the
tokens containing only lower-case letters in the correct order. The length of the array
should be the number of tokens, computed in count_tokens.
char** get_tokens(const char* str);
For example:
● get_tokens("abc EFaG hi") needs to return ["abc","hi"]
● get_tokens("++a+ b + c") needs to return ["b","c"].
● get_tokens("ab12ef+") needs to return either NULL or an empty array.
Remark: Note that the returned array and the strings in it must all be dynamically allocated.
Step by step
Solved in 2 steps