2017-01-08 2 views
0

나는 프로그래밍하는 방법을 배우고, 주로 웹을하기 전에 다른 언어를 사용했지만 C#은 나를 위해 이해하기가 약간 어렵다. msdn 사이트는 너무 복잡하거나 돈이 없다. 올바르게 사용하는 것을 알고 있습니다. 나는이 방법으로 두 가지 차원 배열을 표시 할 때, 내가 문제로 실행을 스도쿠 퍼즐을 해결 프로그램을 구축하는 노력이 오류가 점점 : 당신은 DisplayBoard 방법의 매개 변수에 이름을 부여하지 않았다방법 2 차원 배열을 표시

using System; 
using System.Collections.Generic; 
using System.Linq; 

class Program 
{ 
    static void Main() 
    { 
     int[,] board = new int[9, 9] {{7, 2, 5, 8, 0, 4, 9, 1, 3}, 
             {0, 0, 0, 0, 3, 0, 0, 0, 4}, 
             {0, 0, 0, 0, 0, 1, 8, 2, 6}, 
             {0, 0, 9, 0, 0, 0, 0, 0, 7}, 
             {0, 1, 0, 6, 2, 8, 0, 4, 0}, 
             {2, 0, 0, 0, 0, 0, 5, 0, 0}, 
             {3, 6, 8, 4, 0, 0, 0, 0, 0}, 
             {0, 0, 0, 0, 7, 0, 0, 0, 8}, 
             {0, 0, 0, 0, 0, 2, 6, 9, 5}}; 

     DisplayBoard(board); 

     List<int> missing = new List<int>(); 
     List<int> present = new List<int>(); 
     int temp = 0; 

     for (int i = 0; i < 1; i++) 
     { 
      for (int j = 0; j < 9; j++) 
      { 
       //Console.Write(board[i, j]); 
       if (board[i, j] == 0) 
       { 
        missing.Add(j); 
       } 
       else 
       { 
        present.Add(board[i, j]); 
       } 

       if (present.Count == 8) 
       { 
        for (int x = 0; x < present.Count; x++) 
        { 
         if (!present.Contains(x)) 
         { 
          temp = x; 
         } 
        } 

        board[i, missing[0]] = temp; 
       } 
      } 
      //missing.ForEach(Console.WriteLine); 
     } 
     DisplayBoard(board); 
    } 




    static void DisplayBoard(int[,]) 
    { 
     for (int i = 0; i < 1; i++) 
     { 
      for (int j = 0; j < 9; j++) 
      { 
       Console.Write(board[i, j]); 
      } 
     } 
    } 
} 
+1

무엇을 오류? – Guy

+1

for (int i = 0; i <1; i ++)의 for 루프의 목적은 무엇입니까? 지금은 전혀 쓸모가 없습니다. 너 내가 여기서 9 살 이하인지 확인해야 겠어. –

+0

@ SergeyBerezovskiy 필자는 i <9가되어야하지만 테스트하는 동안 첫 번째 줄로 만 시도합니다. – fakerismyguru

답변

0

static void DisplayBoard(int[,] board) 
{ 
    for (int i = 0; i < 1; i++) 
    { 
     for (int j = 0; j < 9; j++) 
     { 
      Console.Write(board[i, j]); 
     } 
    } 
} 
+0

작동하지만 왜 작동합니까? 여기서 함수를 호출 할 때 어떤 배열인지를 호출합니다. DisplayBoard (보드); ? – fakerismyguru

+0

@fakerismyguru'DisplayBoard'는'int [,]'형의 매개 변수를 가져옵니다. 이 매개 변수를 사용하려면 (그리고 컴파일 오류를 방지하기 위해)이 매개 변수에 이름을 제공해야합니다. – Guy