1

2 つの行列を追加する方法について短いプログラムを作成する必要があります。最初の行列は次のようになります。

1 2 3 4 5 6 7 8 9 10
11 12 13.......19 20
21................30
31................40
41................50
etc..
91...............100

しかし、最初の配列をインクリメントする方法を実際に解決することはできません.. :S

これが私がこれまでに得たものです:

package uebung05;

public class MatrixAddition
{
    public static void main(String[] argv)
    {
        int firstArray[][]  = new int[10][10];
        int secondArray[][] = new int[10][10];
        int ergArray[][]    = new int[10][10];

        System.out.println("Matrix 1\n----------------------------");

        // Inkrementieren der ersten Matrix
        for(int row = 0; row < firstArray.length; row++)
        {
            for(int column = 0; column < firstArray[row].length; column++)
            {
                // Increment Array here???
                System.out.print(firstArray[row][column] + "  ");
            }
            System.out.println();
        }

        System.out.println("\nMatrix 2\n----------------------------");

        // Dekrementieren der zweiten Matrix
        for(int row = 0; row < secondArray.length; row++)
        {
            for(int column = 0; column < secondArray[row].length; column++)
            {
                // Array mit Werten befüllen
                secondArray[row][column] = column + 1;
                System.out.print(secondArray[row][column] + "  ");
            }
            System.out.println();
        }

        System.out.println("\nAddition beider Matrizen\n----------------------------");

        // Addition firstArray & secondArray
        for(int row = 0; row < ergArray.length; row++)
        {
            for(int column = 0; column < ergArray[row].length; column++)
            {
                // Addition
                ergArray[row][column] = firstArray[row][column] +
                                        secondArray[row][column];

                System.out.print(ergArray[row][column] + "  ");
            }
            System.out.println();
        }
    }
}
4

4 に答える 4

2

1 番目と 2 番目の行列を加算する方法:

public static int[][] matrixAdd(int[][] A, int[][] B)
{
    // Check if matrices have contents
    if ((A.length < 0) || (A[0].length < 0)) return B;
    if ((B.length < 0) || (B[0].length < 0)) return A;

    // create new matrix to store added values in
    int[][] C = new int[A.length][A[0].length];

    for (int i = 0; i < A.length; i++)
    {
        for (int j = 0; j < A[i].length; j++)
        {
            C[i][j] = A[i][j] + B[i][j];
        }
    }
    return C;
}
于 2013-04-20T17:39:05.420 に答える
0

しかし、最初の配列をインクリメントする方法を実際に解決することはできません。

// Inkrementieren der ersten Matrix
        for(int row = 0; row < firstArray.length; row++)
        {
            for(int column = 0; column < firstArray[row].length; column++)
            {
                firstArray[row][column] = 1+ row*10 + column; 
                System.out.print(firstArray[row][column] + "  ");
            }
            System.out.println();
        }
于 2013-04-20T17:38:37.967 に答える