Реализовать и использовать функцию, которая возвращает прямой синоним для заданного слова

Не получается написать функцию

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;
→ Ссылка