Ошибка в динамическом редактировании расстояния - PullRequest
0 голосов
/ 04 мая 2018

Цель этой программы - рассчитать для каждого слова файла '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);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...