программирование 3 х 7 - PullRequest
       46

программирование 3 х 7

0 голосов
/ 26 февраля 2012

Я пытался запрограммировать трюк 3х7. Полный код доступен здесь: https://codereview.stackexchange.com/questions/9419/programming-of-3-x-7-trick.

Я застрял на шаге 5.

enter image description here

У меня ошибка при вводе значения для строки.

enter image description here

Не уверен, что ошибка. Нужна помощь.

шаг 6: enter image description here

Ответы [ 2 ]

2 голосов
/ 26 февраля 2012

Эта ошибка происходит от функции back_to_array, где у вас есть опечатка в состоянии внутреннего цикла.Это должно быть j < numRows вместо i < numRows.

1 голос
/ 26 февраля 2012

Основной проблемой является ошибка с i < numRows вместо j < numRows.

В соответствии с запросом, вот некоторые другие модификации, которые вы могли бы и должны реализовать:

  • Записьprintf("%8i", ... вместо printf("%i\t", ..., так как последний, скорее всего, распределит числа неравномерно.
  • Санируйте ваш ввод.Прямо сейчас вы можете вызвать сбой программы, введя странные значения.(Кроме того, дайте пользователю подсказку о том, следует ли использовать значения 0, 1, 2 или 1, 2, 3.)
  • Прямо сейчас вы не тасуете строку 0 и столбец 0. Например,вы начинаете со столбца 6 и проходите по столбцам один за другим, но останавливаетесь, как только достигнете 0, прежде чем снова войти в цикл.
  • Существует проблема, при которой вы часто замечаете, что одни и те же числа встречаются вместев том же ряду.Я верю, хотя я не совсем уверен, что проблема в том, что вы сортируете строки.Точка размещения выбранной строки в середине колоды все время состоит в том, чтобы заставить выбранную карту двигаться к центру.Если вы сортируете строку, вы позволяете карточке отойти от центра.Я прокомментировал сортировку и больше не мог заметить проблему.Есть ли причина, по которой вы сортируете строки?
  • Относительно дизайна: Лично я бы не отображал перетасованный массив и не ждал нажатия клавиш перед началом.Вместо этого я написал бы инструкции и сразу же попросил бы игрока ввести число.Я всегда пытался ввести число уже после того, как первый массив был отображен.Очень надоедливый.:)
...