2016-04-15 10 views
0

einige Hausaufgaben Hilfe benötigenC# Dreieck mit der Nummer verschachtelt

Entwickeln einer C# Konsolenanwendung, die die zwei (2) folgenden Muster separat zeigt, untereinander. Verwenden Sie for-Schleifen (Hinweis: verschachtelt), um die Muster zu generieren. Alle Sternchen sollten durch eine einzelne Anweisung des Formulars Console.Write ("*") angezeigt werden; Hier werden die Sterne angezeigt, die zu dem im Beispiel gezeigten Zahlenwert führen. Eine Anweisung der Form Console.WriteLine(); kann verwendet werden, um zur nächsten Zeile zu wechseln. Notieren Sie sich nacheinander die Reihenfolge der einzelnen Nummern. Denken Sie daran, dass dies zwei separate Sätze von Schleifen sind, die verwendet werden, um diese zwei Muster zu erzeugen. Sie müssen ableiten, wie die Zahlen berechnet werden (sie sind das Ergebnis einer Berechnung) und wo diese Berechnung in den Schleifenstrukturen platziert wird. Sie dürfen die angezeigten Zahlen nicht fest in Ihre Loops codieren.

versuchen, das folgende Muster zu bekommen, aber mein Code bringt mir die richtige Anzahl und den Abstand, aber nicht die wright Menge von Sternen mit der Zahl am Ende. Muss ich meine Schreibanweisungen kombinieren? sollte ich eine Formel haben, die die Ganzzahl des Zählers verwendet, wird jede Hilfe geschätzt.

*2 
**4 
***6 
****8 
*****10 
******12 
*******14 
********16 
*********18 
**********20 

**********20 
*********18 
********16 
*******14 
******12 
*****10 
****8 
***6 
**4 
*2 

using System; 
{ 
    public class Program 
    { 
     const string STAR = "*"; 
     const string SPACE = " "; 
     const int COUNTER = 10; 

     static void Main(string[] args) 
     { 
      firsthalf(); 

      Console.ReadLine(); 
     } 
     static public void firsthalf() 
     { 
      for (int r = 0; r < COUNTER; r++) 
      { 
       for (int c = 0; c <= r; c++) 
       { 
        Console.Write(STAR); 
        Console.Write("{0}", (r + 1) * 2); 
       } 
       Console.WriteLine(); 
      } 
     } 
    } 
} 

Antwort

0

Setzen der Druckanweisung für die Nummer Console.Write("{0}", (r + 1) * 2); außerhalb der zweiten Schleife

for (int r = 0; r < COUNTER; r++) 
{ 
    for (int c = 0; c <= r; c++) 
      Console.Write(STAR);  

    Console.WriteLine("{0}", (r + 1) * 2); 
} 
0
class Program 
{ 
    static void Main(string[] args) 
    { 
     f(1, 5, ascending: true); 
     f(1, 10, ascending: false); 
     Console.ReadLine(); 
    } 

    private static void f(int start, int count, bool ascending) 
    { 
     var indices = Enumerable.Range(start, count); 
     if (!ascending) indices = indices.Reverse(); 
     foreach (int index in indices) 
     { 
      for (int i = 1; i <= index; i++) 
      { 
       Console.Write("*"); 
      } 
      Console.WriteLine(2 * index); 
     } 
    } 
} 
0
using System; 

namespace SOFAcrobatics 
{ 
    public static class Launcher 
    { 
     public static void Main() 
     { 
      Int32 n = 0; 
      Boolean locker = false; 
      for (Int32 i = 2 ; i <= 38 ; i+= 2) 
      { 
       n = ((i > 20) ? (40 - i) : i); 
       if (n == 20 && !locker) 
       { 
        locker = true; 
        i -= 2; 
       } 
       for (Int32 j = 1; j <= (n/2); j++) 
       { 
        Console.Write('*'); 
       } 
       Console.WriteLine(n); 
      } 
      Console.ReadKey(true); 
     } 
    } 
} 

output

0

Nahm eine Kombination aus ein paar Antworten und ich schätze die Hilfe sehr.

using System; 


public class Program 
{ 
const string STAR = "*"; 
const string SPACE = " "; 
const int COUNTER = 10; 

public static void Main(string[] args) 
{ 
    firsthalf(); 
    sechalf(); 

    Console.ReadLine(); 
} 

static public void firsthalf() 
{ 
    for (int r = 0; r < COUNTER; r++) 
    { 
    for (int c = 0; c <= r; c++) 
     Console.Write(STAR); 

    Console.WriteLine("{0}", (r + 1) * 2); 
    } 
    Console.WriteLine(); 
} 


static public void sechalf() 
{ 
    for (int r = COUNTER; r > 0; r--) 
    { 
    for (int c = 0; c < r; c++) 
     Console.Write(STAR); 

    Console.WriteLine("{0}", (r + 0) * 2); 
    //Console.WriteLine(); 
    } 
    Console.WriteLine(); 
} 
}