Цель этой программы - рассчитать для каждого слова файла 'correctme.txt' минимальное расстояние редактирования внутри словаря .txt.
Я не знаю почему, но мой код отправляется в дамп ядра (ошибка сегментации) после первого for (изнутри). Функция «dynamic_edit_distance» верна, потому что я уже проверил ее.
То же, что и для read_quote и read_dictionary.
Почему эта ошибка?
#define QUOTE_SIZE 100
#define DICTIONARY_SIZE 1000000
int main(){
long i, j, min, a;
char** quote = read_quote("correctme.txt", QUOTE_SIZE);
char** dictionary = read_dictionary("dictionary.txt", DICTIONARY_SIZE);
for(i = 0; i < QUOTE_SIZE; i++){
min = QUOTE_SIZE;
for(j = 0; j < DICTIONARY_SIZE; j++){
dynamic_edit_distance(quote[i], dictionary[j]);
min = a < min ? a : min;
}
printf("%s\tMinimum distance: %ld", quote[i], min);
}
//free memory
for(i = 0; i < DICTIONARY_SIZE; i++)
free(dictionary[i]);
free(dictionary);
for(i = 0; i < QUOTE_SIZE; i++)
free(quote[i]);
free(quote);
}