2013-03-18 3 views
-1

for 루프를 사용하여 패턴을 인쇄하는 방법은 무엇입니까?for 루프를 사용하여 패턴 인쇄

 
Figure(3)   Figure(4) 

    **     ** 
    **     ** 
    **     ** 
     **     ** 
          ** 

나는이 시도 :

static void PrintPattern (int column) 
{ 
    for (int r = 0; r <= column + 1; r++) 
    { 
     Console.Write("**"); 
     for (int c = 0; c < r; c++) 
     { 
      Console.WriteLine(" "); 
     } 
     Console.WriteLine(); 
    } 
}  
+0

당신이 오류를받을 수 있나요 질문 – CR41G14

+0

을 다시 실행하십시오 : 그래서 여기에 코드를 간다? 자세한 내용은 http://www.dotnetfunda.com/articles/article2028-getting-different-shapes-of-stars-using-for-loops.aspx – Zaki

+2

메신저 꽤이 컴파일되지 않습니다. 그 뒤에 무엇입니까
? – Thousand

답변

2

가, 재미를 위해 만든 내가 너무 많은 -1s

int depth = 4; 
var rows = Enumerable.Range(0, depth + 1) 
        .Select(v => new string('\t', v) + "**"); 

var oneString = string.Join(Environment.NewLine, rows); 

Console.WriteLine (oneString); 

인쇄받지 바랍니다 :

** 
    ** 
    ** 
     ** 
     ** 

비고 :을 사용하는 경우 을 사용합니다. 210을 구분 기호로 사용하면 탭 '\t' 대신 다음 결과를 얻게됩니다.

+0

+1, LINQ !!! –

0

잘 작동합니다. . . 그림 3에 대한

: 라인 = 4,
그림 4에 대한 : 라인 =

static void Main(string[] args) 
    { 
     int lines = 5; 
     for (int i = 0; i < lines; i++) 
     { 
      bool flag = false; 
      for (int j = 0; j < lines; j++) 
      { 
       if (j == i) 
       { 
        Console.WriteLine("**"); 
        flag = true; 
       } 
       else 
       { 
        if (!flag) 
         Console.Write(" "); 
       } 
      } 
     } 

    } 
+0

gush,'Enumerable.Range'를 사용하여 2 줄의 코드가 필요합니다. –

+0

@IlyaIvanov - 신경 써주시겠습니까? –

+0

예, 물론입니다. OP는 엄격하게 for 루프를 원하기 때문에 실제로는 질문에 대답하지 않았습니다. 미안해 내가 잘못했다면. –

1
void Main() 
    { 
     const int rowCount = 10; 
     Console.Write("**"); 
     for (var rowNumber = 0; rowNumber < rowCount - 1; rowNumber++) 
     { 
      Console.Write("\n "); 
      for (var spaceCount = 0; spaceCount < rowNumber; spaceCount++) 
      { 
       Console.Write(" "); 
      } 
      Console.Write("**"); 
     } 
    } 
0

나는 C#을 몰라하지만 난 자바에 도움이됩니다 5. 원하는대로 구문을 변경해야합니다 (Console.Write == System.out.print & & Console.Writeline == System.out.println).

static void printPattern(int column){ 
    int spaceCount = 2;//number of spaces before **, change as needed 
    int k;//number of times ** is printed each row, must remain always 1 
    for(int i = 0; i < column; i++){ 
     System.out.println();//starts each row with a new line 
     for(int j = 1; j < spaceCount; j++){ 
      System.out.print(" ");//prints j spaces in each row 
     } 
     spaceCount++;//increment spacecount each row, so j can also go + 1 
     for(k = 1; k <= 1; k++){ 
      System.out.print("**");//each row prints ** k times 
     } 
     k--;//k must remain 1 
    } 
} 

그림 (3) 그림에 대한 printPattern(4); 전화 (4) printPattern(5);

관련 문제