Somma, Sottrarre e Moltiplicare le matrici

Ho ottenuto le seguenti matrici:

int[,] myArray1 = new int[2, 3] { { 1, 2, 3 }, { 4, 6, 8 } };
int[,] myArray2 = new int[2, 3] { { 6, 4, 3 }, { 8, 2, 8 } };

Quello che mi piacerebbe sapere come fare è:

  1. Creare un nuovo array con la somma di myArray1 e myArray2
  2. Creare un nuovo array con la sottrazione di myArray1 e myArray2
  3. Creare un nuovo array con la moltiplicazione di myArray1 e myArray2

Risultato della somma sarebbe:

int[,] myArray3 = new int[2, 3] { { 7, 6, 0 }, { -4, 4, 0 } };

Risultato della sottrazione sarebbe:

int[,] myArray3 = new int[2, 3] { { 5, 2, 6 }, { 12, 8, 16 } };

Risultato di una moltiplicazione sarebbe:

int[,] myArray3 = new int[2, 3] { { 6, 8, 9 }, { 32, 12, 64 } };

Questo può essere fatto in modo simile alla stampa l’array, per i cicli for? Ho provato a cercare esempi, ma non trovai nessuno che potrei usare per il mio problema specifico.

  • per i compiti a casa ?
  • Che Cosa,Un Compito Domanda
  • Hai solo bisogno di fare un ciclo e somma/sub/mul tutti gli elementi
  • Mostra il tuo tentativo con un ciclo for..
InformationsquelleAutor Yushell | 2012-12-18



4 Replies
  1. 4
    int[,] a3 = new int[2,3];
    
    for(int i = 0; i < myArray1.GetLength(0); i++)
    {
    for(int j = 0; j < myArray1.GetLength(1); j++)
    {
    a3[i,j] = myArray1[i,j] + myArray2[i,j];
    a3[i,j] = myArray1[i,j] - myArray2[i,j];
    a3[i,j] = myArray1[i,j] * myArray2[i,j];
    }
    }

    bisogno di memorizzare a3 prima di fare un nuovo calcolo, ovviamente,

  2. 2

    Per Somma:

    for (int i = 0; i < 2; i++)
            {
                for (int j = 0; j < 3; j++)
                {
                    myArray3[i, j] = myArray1[i, j] + myArray2[i, j];
                }                
            }

    Per Sottrazione:

    for (int i = 0; i < 2; i++)
            {
                for (int j = 0; j < 3; j++)
                {
                    myArray3[i, j] = myArray2[i, j] - myArray1[i, j];
                }                
            }

    Per Moltiplicazione:

    for (int i = 0; i < 2; i++)
            {
                for (int j = 0; j < 3; j++)
                {
                    myArray3[i, j] = A[i, j] * B[i, j];
                }
            }
  3. 0

    Sì, questo dovrebbe essere fatto esattamente come la stampa di matrici per i cicli for

    c# ha foreach loop che sarebbe ancora più facile da usare

    Nota: ho l’idea che questo è per i compiti a casa, quindi non ho intenzione di dare un 100% conclusive fine tutti essere tutti risposta.

     int[,] myArray1 = new int[2, 3] { { 1, 2, 3 }, { 4, 6, 8 } };
     int[,] myArray2 = new int[2, 3] { { 6, 4, 3 }, { 8, 2, 8 } };
    
              foreach (int[] a1 in myArray1) 
              {
                 foreach(int i in a1)
                 {
                    //operation here
                    //you get the idea
                 }        
              }

    Trovo in c# matrici sono una specie di dinosauri sono molto preferiscono liste.

  4. 0

    Se si desidera utilizzare un ciclo for, è possibile scorrere le righe/colonne della multi-d array come segue:

    for (int i = 0; i < myArray1.GetLength(0); i++)
    {
        for (int j = 0; j < myArray1.GetLength(1); j++)
        {
            //Here, you can access the array data by index, using i and j. 
            //Ex, myArray1[i, j] will give you the value of 1 in the first iteration.
        }
    }

    Nota: Quando si passa da un valore in un Array del GetLength metodo, rappresenta la dimensione della matrice. Vedere http://msdn.microsoft.com/en-us/library/system.array.getlength.aspx

Lascia un commento