Viết chương trình tính tích 2 ma trận A và B. (chỉ sử dụng hàm main)

Viết chương trình tính tích hai ma trận C(nxm) = A(nxp) * B(pxm), in 3 ma trận ra màn hình

Ai giúp mình làm bài đó với, nhưng chỉ dùng hàm main thui, không dùng hàm con nhá mn, tks mn
p/s: Viết bằng ngôn ngữ C nhé mn

ý là sao nhỉ ?? :frowning:

:smiley: mình nhầm tí, mình sửa lại r

Cậu biết thì vào viết giúp mình vs

Mình có viết 1 ít về thuật toán nhân ma trận strassen bạn có thể xem qua. Nếu nhân ma trận bình thường thì của mình là hàm straight

Viết ngôn ngữ C mà dùng các vòng lặp cơ cậu ơi, mình mới học C, hjx. mà chỉ sử dụng hàm main mà k dùng các hàm con

1 Like

Lục lại kho code ngày xưa được cái này chắc là phù hợp với newbie :)) trông không thể cơ bản hơn

#include <iostream>
using namespace std;
int main()
{
	int a[10][10], b[10][10],c[10][10];
	int x,y,i,j,m,n;


	cout<<"\nNhap vao dong/cot cua ma tran A: ";
	cin>> x >> y;
	for(i=0;i<x;i++)
	{
		for(j=0;j<y;j++)
		{
			cout << "Nhap phan tu A[" << i << "][" << j << "]: ";
			cin >> a[i][j];
		}
	}

	cout<<"\nNhap vao so dong/cot ma tran B: ";
	cin>>m>>n;
	for(i=0;i<m;i++)
	{
		for(j=0;j<n;j++)
		{
			cout << "Nhap phan tu B[" << i << "][" << j << "]: ";
			cin>>b[i][j];
		}
	}

	cout <<"\nMa tran A: " << endl;

	for(i=0;i<x;i++)
	{
		for(j=0;j<y;j++)
		{
			cout << a[i][j] << "  ";
		}
		cout << endl;
	}

	cout <<"\nMa tran B: " << endl;

	for(i=0;i<m;i++)
	{
		for(j=0;j<n;j++)
		{
			cout << b[i][j] << "  ";
		}
		cout << endl;
	}

	cout << "Ket qua: "<< endl;
	if(y == m)
	{
		for(i = 0; i < x; i++)
		{
			for(j = 0; j < n; j++)
			{
				c[i][j] = 0;
				for(int k = 0; k < m; k++)
				{
					c[i][j] = a[i][k] * b[k][j];
				}
			}
		}

		for(i = 0; i < x; i++)
		{
			for(j = 0; j < n; j++)
			{
				cout << c[i][j] << "  ";
			}
			cout << endl;
		}
	}
	else
	{
		cout<<"Khong chia duoc!";
	}
	return 0;
}
6 Likes

c[i][j] = a[i][k] * b[k][j]; => Đoạn này ko đúng rồi, phải là c[i][j] += a[i][k] * b[k][j];

2 Likes

à đúng rồi. ngày xưa làm sai mà k phát hiện :open_mouth: a chỉ lấy rồi copy ra thôi chứ chưa xem lại, tks @tuananh_2108

Hjx ai cover ra ngôn ngữ C giúp mình đc ko, mình mới học C với C++ mình chưa học

:smiley: ở trên có thuật toán đấy bạn tự động não đi chứ nhờ mấy anh chị cover thì bạn sẽ k giỏi được đâu :smiley: phải sai nhiều vào mới có thể thành công

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?