User Tag List

+ Trả lời chủ đề
Hiện kết quả từ 1 tới 2 của 2

Chủ đề: [Hỏi] Cách nhân 2 ma trận với các phần tử của ma trận được để trong mảng 1 chiều.

  1. #1
    svBK's Member Avatar của hnvn
    Tham gia ngày
    Mar 2012
    Bài gửi
    92

    Icon10 [Hỏi] Cách nhân 2 ma trận với các phần tử của ma trận được để trong mảng 1 chiều.

    Lại hỏi các Pro BK 1 câu nữa, ngày trước học C hay C++ để +-*/ 2 ma trận chúng ta thường hay nhập số hàng rồi đến nhập số cột sau đó nhập các phần tử của 2 ma trận và nhân
    VD: Ma trận A: số hàng =2 số cột =2 nhập phần tử a11= 1 a12= 2 a13 = 3 a14 =4 tượng tự nhập Ma trận B sau đó +hay-*/
    Nhưng nay mình có bài này hơi nan giải là mình nhập 2 ma trận vào trong 2 textbox sau đó đưa chúng ra 1 textbox khác để trong giống 1 ma trận bây giờ muốn nhân 2 ma trận đó thì phải làm sao? nên nhân chúng với phần tử trong textbox kiểu mảng rồi đưa nó ra kết quả là ma trận sau hay nhân trực tiếp các phần tử trong textbox hình ma trận luôn, các bạn bày mình cách làm với.
    Hình mô phỏng:
    Ha Noi Capital - Viet Nam - Sinh vien khoa 2009

  2. #2
    svBK's Member Avatar của hnvn
    Tham gia ngày
    Mar 2012
    Bài gửi
    92

    Mặc định Re: [Hỏi] Cách nhân 2 ma trận với các phần tử của ma trận được để trong mảng 1 chiều.

    Sau 1 hồi suy nghĩ mình nghĩ là nên làm theo cách 1 là chuyển các phần tử trong tetxbox ma trận 1 thành 1 ma trận với số hàng và số cột, tương tự với ma trận 2 sau đó chúng ta tiến hành nhân theo kiểu truyền thống như C/C++, tức là VD:
    chuyển ma trận trong textbox là 1,2,3,4 =>ma trận
    1 2
    3 4 tương ứng với a11=1, a12=2, a21=3, a22=4
    chuyển ma trận trong textbox là 2,3,4,5 =>ma trận
    2 3
    4 5 tương ứng với b11=2, b12=3, b21=4, b22=5
    sau đó khởi tạo ma trận c[,] và tiến hành nhân.

    Code ý tưởng:
    private void btnnhan_Click(object sender, EventArgs e)
    {
    string[] aar1 = mt1.Text.Split(',');//bo dau , o textbox mt1 de dk 1 day so
    int n = Int32.Parse(capmt.Text);//n =so hang =so cot
    int [,]a;//mang 2 chieu dai dien cho ma tran 1
    for(int i=0;i<n;i++)
    for(int j=0;j<n;j++)
    {
    a[i,j]= arr1[];//a11 = phan tu dau tien cua text a12 = phan tu thu 2 của text
    }
    string[] arr2 = mt2.Text.Split(',');
    int [,]b;//mang 2 chieu dai dien cho ma tran 2
    for(int k =0;k<n;k++)
    for(int l =0;l<n;l++)
    {
    b[k,l]=arr2[];
    }
    //sau khi da chuyen chung ve dang ma tran vs hang va cot bay gio thi nhan thoi
    int c,d;
    for(c=0;i<donga;i++)
    for(d=0;j<cotb;j++)
    {
    t[c][d]=0;
    for(int h=0;h<cota;h++)
    t[c][d]+=a[c][h]*b[h][d];
    }
    }
    }

+ Trả lời chủ đề

Thông tin chủ đề

Users Browsing this Thread

Hiện có 1 người đọc bài này. (0 thành viên và 1 khách)

Từ khóa (Tag) của chủ đề này

Quyền viết bài

  • Bạn không thể gửi chủ đề mới
  • Bạn không thể gửi trả lời
  • Bạn không thể gửi file đính kèm
  • Bạn không thể sửa bài viết của mình


About svBK.VN

    Bách Khoa Forum - Diễn đàn thảo luận chung của sinh viên ĐH Bách Khoa Hà Nội. Nơi giao lưu giữa sinh viên - cựu sinh viên - giảng viên của trường.

Follow us on

Twitter Facebook youtube