วันอังคารที่ 10 กันยายน พ.ศ. 2556

ใบงานที่ 7.5 การคูณแมตริกซ์

ใบงานที่ 7.5
การคูณแมตริกซ์
ผลลัพธ์ของการคูณแมตริกซ์  และ  เข้าด้วยกันจะได้ผลลัพธ์เป็นแมตริกซ์
ซึ่งสมาชิกแต่ละตัวจะมีค่าตามสูตร

จงเขียนโปรแกรมเพื่อคูณแมตริกซ์ขนาด 2×2 และแสดงผลลัพธ์ออกทางหน้าจอ
ตัวอย่างผลการทำงาน
Enter matrix A
Enter element[1,1]: 1
Enter element[1,2]: 2
Enter element[2,1]: 3
Enter element[2,2]: 4
Enter matrix B
Enter element[1,1]: 5
Enter element[1,2]: 6
Enter element[2,1]: 7
Enter element[2,2]: 8
Matrix A*B is
  19 22
  43 50


จากนั้นคัดลอกโปรแกรมลงในช่องว่าง โดยไม่ต้องลอกเมท็อด ShowMatrix และ/หรือ
ReadMatrix หากนำมาใช้โดยไม่มีการเปลี่ยนแปลง


using System;
class Matrix
{
    static int[,] ReadMatrix(int nrows, int ncols)
    {
        int[,] m = new int[nrows, ncols];
        for (int i = 0; i < nrows; i++)
        {
            for (int j = 0; j < ncols; j++)
            {
                Console.Write("Enter element[{0},{1}]: ", i + 1, j + 1);

                m[i, j] = int.Parse(Console.ReadLine());
            }
        }
        return m;
    }
  
    static void Main()
    {
        int[,] A,B,i,j;

        Console.WriteLine("Enter matrix A");
        A = ReadMatrix(2, 2);
        Console.WriteLine();
        Console.WriteLine();
        Console.WriteLine("Enter matrix B");
        B = ReadMatrix(2, 2);

        int det = (A[0, 0] * B[0, 0]) + (A[0, 1] * B[1, 0]);
        int sum = (A[0, 0] * B[0, 1]) + (A[0, 1] * B[1, 1]);
        int cat = (A[1, 0] * B[0, 0]) + (A[1, 1] * B[1, 0]);
        int dog = (A[1, 0] * B[0, 1]) + (A[1, 1] * B[1, 1]);
        Console.WriteLine();
                Console.WriteLine("Matrix A*B is");
                Console.WriteLine("  {0}  {1}", det, sum );
                Console.Write("  {0}  {1}", cat, dog);
        Console.Read();
    }
}







ไม่มีความคิดเห็น:

แสดงความคิดเห็น