Реализовать и использовать функцию, которая возвращает прямой синоним для заданного слова
Не получается написать функцию
void findSynonym ( const char synonymDictionary[20][2][31], int count, const char word[31], char synonym[31]);
Входные данные:
synonymDictionary – словарь синонимов
count – кол-во пар синонимов
word – слово, для которой нужно подобрать синоним
Выходные данные:
synonym - синоним; если синоним не найден, то возвращается пустая строка.
Пробовал использовать стандартную функции strstr для нахождения в словаре исходного слова нашел но никак не получается сделать так чтобы он выводил синоним для этого слова
char const *words=NULL;
for (int i = 0; i < count && words == NULL; i++) {
for (int j = 0; j < 2 && words== NULL; j++) {
for (int k = 0; k < 32 && words == NULL; k++) {
words = strstr(&synonymDictionary[i][j][k], word);
}
}
}
Ответы (1 шт):
Автор решения: Sergey
→ Ссылка
Грубо, без проверок на ошибки:
// Ищем синоним
for(j=0; j<count; j++) {
if(strcmp(synonymDictionary[j], word) == 0) {
strncpy(synonym, synonymDictionary[j], 31);
return;
}
}
// Не нашли - возвращаем пустую строку:
synonym[0] = '\0';
return;