2012-12-10 5 views
1

나는 간단한 quastion 있습니다. 나는이 C# 코드가 있습니다포인터 삼각형 C#

static void Main(string[] args) 
{ 
    int num1, i, j, x, y; 
    Console.WriteLine("enter number"); 
    num1=int.Parse(Console.ReadLine()); 
    for (i=1; i<=num1; i++){ 
     for (j=1; j<i+1; j++) { 
     Console.Write(i); 

     }Console.Write("\n"); 
    } 
    for (x=num1; x>=0; x--){ 
     for (y=0; y<x; y++) { 
     Console.Write(x); 

     }Console.Write("\n"); 
    } 
    Console.ReadLine(); 
} 

enter image description here 중간 라인이 반복입니다을 두 번

번호에서 어떤 인쇄 삼각형. 중간 선이 두 번 반복되는 것이 문제입니다. 제 질문은 루프를 어떻게 바꿀 수 있습니까? 중간 줄 번호가 두 번 반복됩니다. 도움을 청하십시오. 감사합니다! 루프 모두가 포함 된 조건으로 num1을 포함하기 때문에

+0

당신은 당신의 코드가 실제로 무엇을 더 자세히 설명 할 수, 당신은 중간 라인 코드가 있습니까 중간 라인은 무엇인가? – Phxvyper

+2

당신은이 코드를 복사하여 붙여 넣기를하면 그 놀라운 삼각형을 볼 수 있습니다! –

+1

아니요! 내가 이미지를 업로드 했어. 괜찮 니? –

답변

2

에 :

for (i=1; i<=num1; i++){ 
    // num1 is the last number in this loop 
} 
for (x=num1; x>=0; x--){ 
    // num1 is the first number in this loop 
} 

변경 첫 번째 루프는전에 중지은 :

for (i=1; i<num1; i++){ 
+0

이제 포인트를 얻었습니다! 대단히 감사합니다 !! –

3

어 변화

for (x=num1; x>=0; x--){ 

for (x=num1-1; x>=0; x--){ 
+0

감사합니다! 그것은 위대한 작품! –

1
static void Main(string[] args) 
{ 
    int num1, i, j, x, y; 
    Console.WriteLine("enter number"); 
    num1=int.Parse(Console.ReadLine()); 
    for (i=1; i<num1; i++){ 
     for (j=1; j<i+1; j++) { 
     Console.Write(i); 

     }Console.Write("\n"); 
    } 
    for (x=num1; x>=0; x--){ 
     for (y=0; y<x; y++) { 
     Console.Write(x); 

     }Console.Write("\n"); 
    } 
    Console.ReadLine(); 
} 
+0

대단히 감사합니다 !!!! –

2
Console.Write("enter number: "); 
int num = Int32.Parse(Console.ReadLine()); 

Enumerable.Range(1, num) 
      .Concat(Enumerable.Range(1, num - 1).Reverse()) 
      .Select(x => String.Join("", Enumerable.Repeat(x.ToString(),x))) 
      .ToList() 
      .ForEach(line => Console.WriteLine(line)); 
+0

나는 삼각형으로 깊은 인상을 받았습니다 :) –