Я создаю решатель sudoku на C и проблема с получением пользовательского ввода. Код, который я написал, не вводит данные в игровое поле, но если я меняю Game_Buffer[counter]
на Game_Buffer[i]
, он вводит данные, но только 9 символов. Я знаю, почему. Я просто хотел посмотреть, есть ли проблемы в других областях.Sudoku Solver Input
Мой основной вопрос: Почему метод, который я использую, не помещает входные данные пользователя в массив игровой панели?
#include <stdio.h>
#include <string.h>
#define CELL 81
int main()
{
// Banner
printf("\t\t\t\tSudoku Solver\n");
printf("\t\t\t***************************\n");
//initialize variables
char Game_Board[9][9];
int i,j;
char Game_Buffer[CELL];
int counter = 0;
printf("Please enter the numbers of the board * denotes a blank space\n");
fgets(Game_Buffer,CELL,stdin);
for(i=0;i<strlen(Game_Buffer);i++)
printf("%c", Game_Buffer[i]);
while(counter < 81)
{
for(i=0; i<9; i++)
for(j=0; j<9; j++)
Game_Board [i][j] = Game_Buffer [counter];
counter++;
}
printf("%d\n", counter);
printf("\t\t\t\t The Board\n");
for(i=0; i<9; i++)
for(j=0; j<9; j++)
{
if(j % 3 == 0)
printf("|");
printf("%c", Game_Board[i][j]);
if(j==8)
printf("|\n");
}
return 0;
}
Пользовательский ввод должен быть линейным без пробелов, которые вы вводите в столбцы. Я использовал fgets, потому что я не был уверен в каких-либо других функциях ввода. – KryptNick
Я имел в виду, что информация вводится строками – KryptNick