2013-10-07 24 views
5

Im Versuch, eine 3x3-Matrix in C# -Sprache zu erstellen, weiß ich, wie man die Matrix erstellt, aber ich brauche Hilfe für Benutzereingabenummern. Ich hoffe, dass jemand mir helfen kann, dir dafür zu danken.Erstellen einer 3x3-Matrix mit Benutzereingabenummern C#

+2

Console app/GUI-Anwendung? In welcher Form möchten Sie die Matrix eingeben? – weston

+1

Suchen Sie nach 'Console.ReadLine' und' int.Parse'. Ich nehme an, Sie wissen, wie Sie ein paar verschachtelte 'For'-Schleifen verwenden. – Blorgbeard

+0

Überprüfen Sie diese Frage: http://StackOverflow.com/Questions/2336701/Recommendation-for-C-sharp-Matrix-Library –

Antwort

4

Ich werde eine while-Schleife hinzufügen und double.TryParse verwenden, um Benutzereingaben zu überprüfen. Usin BWHazel Code:

const int MATRIX_ROWS = 3; 
const int MATRIX_COLUMNS = 3; 

double[,] matrix = new double[MATRIX_ROWS, MATRIX_COLUMNS]; 

for (int i = 0; i < MATRIX_ROWS; i++) 
{ 
    for (int j = 0; j < MATRIX_COLUMNS; j++) 
    { 
     double input; 
     Console.Write("Enter value for ({0},{1}): ", i, j); 
     while (!double.TryParse(Console.ReadLine(), out input) 
     { 
      Console.Write("Enter correct value for ({0},{1}): ", i, j); 
     } 
     matrix[i,j] = input 
    } 
} 

Um die Summen für alle Zeilen erhalten Sie folgenden Ausschnitt verwenden können:

for (int i = 0; i < MATRIX_ROWS; i++) 
{ 
    // The some for each row 
    double sum = 0.0; 
    for (int j = 0; j < MATRIX_COLUMNS; j++) 
    { 
     sum += matrix[i,j]; 
    } 
    Console.WriteLine(string.format("The sum for row {0} is: {1}", i, sum)); 
} 
+0

Diese Arbeit danke, aber jetzt versuche ich für Zyklus zu verwenden, um die Summe jeder Zeile zu bekommen, wenn Sie mir helfen können, bin ich wirklich dankbar. Vielen Dank – user2853957

+0

Ich bin mir nicht sicher, was meinst du mit "Summe jeder Zeile", aber wenn Sie alle Spalten für eine Zeile in einer einzigen Zeile lesen möchten, dann können Sie verwenden: string [] input = Console.ReadLine () .Split(), um alle Werte zu erhalten und die Elemente des Arrays zu analysieren. – iTURTEV

+0

ich meinte, ich möchte die Summe für jede Zeile wie wenn Zeile 1 1,2,3 Ich möchte die Summe dieser Zahlen (1 + 2 + 3). Ich hoffe du hast es verstanden. – user2853957

1

Wenn Sie die Befehlszeile verwenden, so etwas wie dies funktionieren sollte:

const int MATRIX_ROWS = 3; 
const int MATRIX_COLUMNS = 3; 

double[,] matrix = new double[MATRIX_ROWS, MATRIX_COLUMNS]; 

for (int i = 0; i < MATRIX_ROWS; i++) 
{ 
    for (int j = 0; j < MATRIX_COLUMNS; j++) 
    { 
     Console.Write("Enter value for ({0},{1}): ", i, j); 
     matrix[i,j] = double.Parse(Console.ReadLine()); 
    } 
} 

Diese Sie double für die Werte verwenden annimmt. Die Methode .Parse() ist für alle numerischen .NET-Typen verfügbar, einschließlich int.

+0

Die Arbeit danke, aber jetzt versuche ich für Zyklus zu verwenden, um die Summe jeder Zeile zu erhalten Wenn du mir helfen kannst, bin ich wirklich dankbar. Vielen Dank – user2853957