2013-10-07 6 views
5

im cercando di creare una matrice 3x3 in linguaggio C#, so come creare la matrice ma ho bisogno di aiuto per i numeri di input dell'utente. Spero che qualcuno possa aiutarmi a ringraziarti per questo.Creazione di una matrice 3x3 con numeri di input utente C#

+2

Console app/GUI app? In quale forma vuoi che entrino nella matrice? – weston

+1

Cercare 'Console.ReadLine' e' int.Parse'. Suppongo tu sappia come usare un paio di cicli 'for' nidificati. – Blorgbeard

+0

Dai un'occhiata a questa domanda: http://stackoverflow.com/questions/2336701/recommendation-for-c-sharp-matrix-library –

risposta

4

Aggiungerò un ciclo while e useremo double.TryParse per convalidare l'input dell'utente. il codice di Usin BWHazel:

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 
    } 
} 

Per ottenere i totali per tutte le righe che è possibile utilizzare seguente frammento di codice:

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

Questo lavoro ti ringrazio, ma ora sto cercando di usare per il ciclo per ottenere il totale di ogni riga, se puoi aiutarmi sono davvero grato. Grazie – user2853957

+0

Non sono sicuro di cosa intendi per "totale di ogni riga", ma se vuoi leggere tutte le colonne di una riga su una singola riga, puoi utilizzare: string [] input = Console.ReadLine () .Split() per ottenere tutti i valori e analizzare gli elementi dell'array. – iTURTEV

+0

Intendevo dire che voglio il totale per ogni riga come se la riga 1 avesse 1,2,3 voglio il totale di questi numeri (1 + 2 + 3). Spero tu abbia capito. – user2853957

1

Se si sta utilizzando la linea di comando, qualcosa di simile a questo dovrebbe funzionare:

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()); 
    } 
} 

Ciò presuppone che si sta utilizzando double per i valori. Il metodo .Parse() è disponibile per tutti i tipi numerici .NET incluso int.

+0

Questo lavoro ti ringrazia, ma ora sto cercando di usare per il ciclo per ottenere il totale di ogni riga , se puoi aiutarmi, sono davvero grato. Grazie – user2853957

Problemi correlati