I have the question and answer to this problem can someone explain the concept and how exactly I should go about doing it though step by step please Write a C function whose prototype is int select(char valid[ ][20], int num, char input[ ]); Each row of the array valid consists of a "valid" command. There are a total of num rows in valid. Your function should determine where the string stored in the variable input occurs in the table valid, and return the row number in which it occurs; if the string does not occur in valid, your function should return -1. The strings in valid may be of different lengths, but are all lower case. The string input may be mixed case, but your function should return a match regardless of case. For example, if the first three rows of valid were the strings "insert", "clear", and "printqueue", and the input string were "CLEar", your function should still recognize CLEar as equivalent to clear and return the integer 1. int select(char valid[ ][20], int num, char input[ ]) { int i, n; n = strlen(input); for (i=0; i
I have the question and answer to this problem can someone explain the concept and how exactly I should go about doing it though step by step please
Write a C function whose prototype is
int select(char valid[ ][20], int num, char input[ ]);
Each row of the array valid consists of a "valid" command. There are a total of num rows in valid. Your function should determine where the string stored in the variable input occurs in the table valid, and return the row number in which it occurs; if the string does not occur in valid, your function should return -1. The strings in valid may be of different lengths, but are all lower case. The string input may be mixed case, but your function should return a match regardless of case. For example, if the first three rows of valid were the strings "insert", "clear", and "printqueue", and the input string were "CLEar", your function should still recognize CLEar as equivalent to clear and return the integer 1.
int select(char valid[ ][20], int num, char input[ ]) {
int i, n;
n = strlen(input);
for (i=0; i<n; ++i) input[i] = tolower(input[i]);
for (i=0; i<num; ++i)
if (strcmp(valid[i],input) == 0) return i;
return -1;
}
Step by step
Solved in 2 steps