아래에는 polybius 사각형을 사용하는 해독 방법 스 니펫이 포함되어 있습니다. 첫 번째 두 사용자 입력을 받아 좌표로 변환하여 사각형의 어떤 문자가 입력 된 숫자와 일치하는지 살펴보고 싶습니다. 내 코드는 x 값 작동하고 난 Y에 대한 변경없이 x와 y 사이 incriment을 찾는 데 도움이 필요 (48)로 Y를 할당 48문자 배열에서 조회를 위해 x를 기록한 후 내 카운터가 0에서 48으로 이동하는 것을 어떻게 막을 수 있습니까?
public string DecryptMessage(string userInput)
{
string outputMessage = string.Empty;
char[,] alphaValues = new char[5, 5] {
{'A', 'B', 'C', 'D', 'E'},
{'F', 'G', 'H', 'I', 'K'},
{'L', 'M', 'N', 'O', 'P'},
{'Q', 'R', 'S', 'T', 'U'},
{'V', 'W', 'X', 'Y', 'Z'},
};
char[] userInputArray = userInput.ToCharArray();
for (int i = 0; i < userInputArray.Length; i++)
{
int x = Convert.ToInt32(userInputArray[i]); i++;
//after this point i somehow changes from 0 to 48 with the incriment
//if i get this fixed the decrypt will work, still trying to figure this out
int y = Convert.ToInt32(userInputArray[i]);
char letterToReturn = alphaValues[x, y];
string outputLetter = letterToReturn.ToString();
outputMessage += outputLetter;
}
return outputMessage;
}
왜 'int x = Convert.ToInt32 (userInputArray [i]);'뒤에 'i ++; '. 이것은 나쁜 결정입니다 – Marusyk
방금 i + 1에 대한 색인을 만들려고합니까? – sr28
인덱스를 저장하는'x' 다음에'i ++'가 증가합니다. 또한, 사용자 입력에 대해'foreach '를 원하지 않습니까? – Greg