Есть задание, "ввести строку и слово. Определить и вывести, сколько раз встречаются в строке буквы, перечисленные в слове". Программа у меня есть готовая и правильная, но мне надо сделать так, что бы в коде было несколько функций. Поэтому нужна помощь в редактировании кода (условно надо сделать ввод массива и слова в виде отдельной функции) #include <stdio.h> int main() { char str[100], slovo[100]; char c, l; int i = 0, a = 0; int k = 0; printf("Input a string:\n"); while ((c = getchar()) != '\n' && i < 99) { str[i] = c; i++; } str[i] = '\0'; printf("Input a word:\n"); while ((l = getchar()) != '\n' && a < 99) { slovo[a] = l; a++; } slovo[a] = '\0'; int mas[a]; for (int u = 0; u < a; u++) { mas[u] = 0; } for (k = 0; k < i; k++) { if (str[k] != ' ' && str[k] != '\t') { for (int m = 0; m < a; m++) { if (slovo[m] == str[k]) { mas[m]++; } } } } printf("Count of : \n"); for (int z = 0; z < a; z++) { printf("%c = %d\n", slovo[z], mas[z]); } } Код #include <stdio.h> int main() { char str[100], slovo[100]; char c, l; int i = 0, a = 0; int k = 0; printf("Input a string:\n"); while ((c = getchar()) != '\n' && i < 99) { str[i] = c; i++; } str[i] = '\0'; printf("Input a word:\n"); while ((l = getchar()) != '\n' && a < 99) { slovo[a] = l; a++; } slovo[a] = '\0'; int mas[a]; for (int u = 0; u < a; u++) { mas[u] = 0; } for (k = 0; k < i; k++) { if (str[k] != ' ' && str[k] != '\t') { for (int m = 0; m < a; m++) { if (slovo[m] == str[k]) { mas[m]++; } } } } printf("Count of : \n"); for (int z = 0; z < a; z++) { printf("%c = %d\n", slovo[z], mas[z]); } }
jazzy300, #include <stdio.h> void readStr(char* word, int* a) { char l; while ((l = getchar()) != '\n' && *a < 99) { word[*a] = l; (*a)++; } } int main() { char c; int i = 0, a = 0, k = 0; char str[100]; printf("Input a string:\n"); readStr(str, &i); str[i] = '\0'; printf("Input a word:\n"); char slovo[100]; readStr(slovo, &a); slovo[a] = '\0'; char red[a]; int mas[a]; for (int u = 0; u < a; u++) { mas[u] = 0; } for (k = 0; k < i; k++) { if (str[k] != ' ' && str[k] != '\t') { for (int m = 0; m < a; m++) { if (slovo[m] == str[k]) { mas[m]++; } } } } for (int z = 0; z < a; z++) { printf("%c = %d\n", slovo[z], mas[z]); } } C #include <stdio.h> void readStr(char* word, int* a) { char l; while ((l = getchar()) != '\n' && *a < 99) { word[*a] = l; (*a)++; } } int main() { char c; int i = 0, a = 0, k = 0; char str[100]; printf("Input a string:\n"); readStr(str, &i); str[i] = '\0'; printf("Input a word:\n"); char slovo[100]; readStr(slovo, &a); slovo[a] = '\0'; char red[a]; int mas[a]; for (int u = 0; u < a; u++) { mas[u] = 0; } for (k = 0; k < i; k++) { if (str[k] != ' ' && str[k] != '\t') { for (int m = 0; m < a; m++) { if (slovo[m] == str[k]) { mas[m]++; } } } } for (int z = 0; z < a; z++) { printf("%c = %d\n", slovo[z], mas[z]); } }