Существует проблема с назначением номера, введенного в цикл.
//Replaces the _'s in the specified rows/columns and replaces them with the integer the user specified. This is where I think I'm having the problem.
for (control=0; control<length; control++) {
dash[row[control]][column[control]]=num[control]; //<<<--- Assignment issue.
}
Вы присваиваете целочисленное значение в массиве символов, поэтому при отображении вы получите соответствующий символ для значения ascii , а не целое число. Попробуйте изменить назначение следующим образом:
//Replaces the _'s in the specified rows/columns and replaces them with the integer the user specified. This is where I think I'm having the problem.
for (control=0; control<length; control++) {
dash[row[control]][column[control]]=num[control] + '0'; // Convert to ascii value of the integer, but will fail if not b/w 0 & 9.
}
Также рекомендуется проверить, находится ли введенное число между 1 и 9, если вы решите использовать вышеуказанное наблюдение.
Пожалуйста, добавьте проверки для строки и столбца, введенных в качестве вводимых значений, которые не являются ч / б 1 и 9, приведут к неопределенному поведению из-за доступа к внешним элементам массива, если введенные значения не ч / б 1 и 9.
Также, как упоминал Бенджамин Линдли, обновите strlen
код.
Надеюсь, это поможет!