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

ใบงานที่ 7.3 แมตริกซ์ทรานสโพส

ใบงานที่ 7.3
แมตริกซ์ทรานสโพส
ให้ผู้เรียนศึกษาใบความรู้ที่ 7.2 จากนั้นสร้างโปรเจ็กต์และเขียนโปรแกรมจากโจทย์ที่กำหนดให้ต่อไปนี้
เพิ่มเมท็อดชื่อ TransposeMatrix ลงในโปรแกรมจากแบบฝึกหัดที่แล้ว เพื่อคำนวณทรานสโพส
แมตริกซ์ (การสลับเปลี่ยนแถวและคอลัมน์) จากแมตริกซ์ที่รับเข้ามา ตัวเมท็อดจะรับแมตริกซ์ในรูป
พารามิเตอร์แบบอาเรย์สองมิติและส่งค่ากลับเป็นอาเรย์ตัวใหม่ที่เก็บค่าแมตริกซ์ที่ถูกทรานสโพสแล้ว
using System;
class Matrix {

  // คัดลอกเมท็อด ShowMatrix และ ReadMatrix
  // จากแบบฝึกหัดที่แล้วมาปะในตำแหน่งนี้

  static int[,] TransposeMatrix(int[,] m) {
    int[,] mt = new               int[____________________,____________________];
for (int i = 0; i < m.GetLength(0); i++)
for (int j = 0; j < m.GetLength(1); j++)
______________________________________________________;
return mt;
}
static void Main() {
int num_rows, num_cols;
int[,] A, At;
Console.Write("How many rows? ");
num_rows = int.Parse(Console.ReadLine());
Console.Write("How many columns? ");
num_cols = int.Parse(Console.ReadLine());
A = ReadMatrix(num_rows, num_cols);
Console.WriteLine("Matrix A is");
ShowMatrix(A);
Console.WriteLine("Transpose of Matrix A is");
At = TransposeMatrix(A);
ShowMatrix(At);
}
}








ตัวอย่างผลการทำงาน
How many rows? 2
How many columns? 3
Enter element[1,1]: 1
Enter element[1,2]: 2
Enter element[1,3]: 3
Enter element[2,1]: 4
Enter element[2,2]: 5
Enter element[2,3]: 6
Matrix A is
  1 2 3
  4 5 6
Transpose of Matrix A is
  1 4
  2 5
  3 6



using System;
class Matrix
{
    static void ShowMatrix(int[,] m)
    {
        for (int i = 0; i < m.GetLength(0); i++)
        {
            for (int j = 0; j < m.GetLength(1); j++)
            {
                Console.Write("{0,4}", m[i, j]);
            }
            Console.WriteLine();
        }
    }
    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 int[,] TransposeMatrix(int[,] m)
    {
        int[,] mt = new int[m.GetLength(1), m.GetLength(0)];
        for (int i = 0; i < m.GetLength(0); i++)
            for (int j = 0; j < m.GetLength(1); j++)
                mt[j, i] = m[i, j];
                return mt;
    }
    static void Main()
    {
        int num_rows, num_cols;
        int[,] A, At;
        Console.Write("How many rows? ");
        num_rows = int.Parse(Console.ReadLine());
        Console.Write("How many columns? ");
        num_cols = int.Parse(Console.ReadLine());
        A = ReadMatrix(num_rows, num_cols);
        Console.WriteLine("Matrix A is");
        ShowMatrix(A);
        Console.WriteLine("Transpose of Matrix A is");
        At = TransposeMatrix(A);
        ShowMatrix(At);
        Console.Read();
    }
}








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

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