-
22-09-2012, 11:52 AM #1Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
[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.
Ngày trước học C hay C++ 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 đó nhân.
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 hay phần tử trong textbox hình ma trận, các bạn bày mình cách làm với.
Hình mô phỏng:
View more random threads:
- Hỏi về c# socket . ftp client
- Database
- Lỗi khi nhập số âm trên máy tính bỏ túi.
- [Hỏi] Bạn Nào Có Console c# Chương Trình Tính Tổng Trở
- lệnh || không hoạt động
- Viết chuơng trình bằng C#
- Lấy dữ liệu đưa vào DataList
- Cho hỏi cách làm chức năng trích dẫn[quote] giống trong forum mình!
- Xin hỏi lỗi này có nghĩa là gì?
- Cung cấp phân hữu cơ nhật số lượng lớn
-
22-09-2012, 04:33 PM #2Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
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);/ =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];
}
}
}
-
23-09-2012, 02:33 PM #3Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
code mình đăng 1 lần rồi mà bạn
Mã:private void btnShow_Click(object sender, EventArgs e) { string input = txtInput.Text; string output = ""; string[] arr = input.Split(','); int row = (int)Math.Sqrt(arr.Length); if ((row * row != arr.Length) || arr.Length < 4) { MessageBox.Show("day khong phai la ma tran vuong"); return; } for (int i = 0; i < arr.Length; i++) { output += arr[i] + "\t"; if (int.Parse(arr[i]) % row == 0) { output += " "; } } txtOutput.Text = output; }
-
23-09-2012, 03:13 PM #4Junior Member
- Ngày tham gia
- Sep 2015
- Đang ở
- hà nội
- Bài viết
- 0
Gửi bởi mr.doan2012
-
23-09-2012, 05:24 PM #5Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Trân mạng có công thức nhân 2 ma trận đó bạn..
Với sự đa dạng và phong phú về mẫu mã và giá cả, choxeonline.vn hứa hẹn sẽ là địa chỉ tin cậy cho những ai đang tìm kiếm chiếc xe ô tô ưng ý. Từ những mẫu xe hạng sang đến những chiếc xe gia đình...
Khám Phá Đa Dạng Sản Phẩm Xe Ô Tô...