Recent Posts

Code C++: Phép toán cộng, nhân hai ma trận

-
- Cộng hai ma trận
Cho A=(aij) và B=(bij) là hai ma trận cùng cấp m x n. Khi đó, C=A ± B cũng là ma trận cấp m x n và được xác định bởi cij   aij  ± bij,  1 ≤ i ≤ m, 1 ≤ j ≤ n.
- Nhân hai ma trận
Cho A=(aij) là ma trận trận cấp m x n và B=(bjk) là ma trận cấp n x p. Khi đó, C=A.B = (cik) là ma trận cấp m x p.
Cài đặt mã nguồn
#include <conio.h>
#include <iostream>
#define max 100
using namespace std;

/*Hàm nhập ma trận hệ số*/
void NhapMaTran(float A[max][max], int m, int n, char ch)  {
for(int i = 0; i<m; i++)
for(int j = 0; j<n; j++) {
cout<<ch<<"["<<i<<"]["<<j<<"] = ";
cin>>A[i][j];
}
}
/* Hàm xuất ma trận*/
void XuatMaTran(float A[max][max], int m, int n) {
for(int i=0 ; i<m; i++){
cout<<endl;
for(int j=0 ; j<n; j++)
cout<<A[i][j]<<"\t";
}
}

/*C = A+B*/
void CongMaTran(float A[max][max], float B[max][max], float C[max][max], int m, int n) {
for(int i = 0; i<m; i++)
for(int j = 0; j<n; j++)
C[i][j] = A[i][j]+B[i][j];
}
/*A cap mxn * B cap nxp = C cap mxp*/
void NhanMaTran(float A[max][max],float B[max][max], float C[max][max],int m,int n,int p)
for(int i = 0; i<m; i++)
for(int k = 0; k<p; k++) {
C[i][k]=0;
for(int j = 0; j<n; j++)
C[i][k] = C[i][k]+A[i][j]*B[j][k];
}
}
/*Chuong trinh chinh*/
int main() {
int m,n,p;
float A[max][max],B[max][max],C[max][max],D[max][max];
cout<<"Nhap m = "; cin>>m;
cout<<"Nhap n = "; cin>>n;
cout<<"Nhap p = "; cin>>p;
cout<<"Nhap ma tran A cap "<<m<<"x"<<n<<endl;
NhapMaTran(A,m,n,'A');
cout<<"Nhap ma tran B cap "<<m<<"x"<<n<<endl;
NhapMaTran(B,m,n,'B');
cout<<"Nhap ma tran C cap "<<n<<"x"<<p<<endl;
NhapMaTran(C,n,p,'C');
cout<<"Ma tran A";
XuatMaTran(A,m,n);
getch();
cout<<"\n\nMa tran B";
XuatMaTran(B,m,n);
getch();
cout<<"\n\nMa tran C";
XuatMaTran(C,n,p);
getch();
cout<<"\n\nMa tran D = A+B";
CongMaTran(A,B,D,m,n);
XuatMaTran(D,m,n);
getch();
cout<<"\n\nMa tran D = A.C";
NhanMaTran(A,C,D,m,n,p);
XuatMaTran(D,n,p);
getch();
return 0;
}
Kết quả khi chạy chương trình
Tag: C, C++, ma trận, matrix, array, cộng hai ma trận, nhân hai ma trận

Related Post:

  • Code C#: Ví dụ về LỚP và ĐỐI TƯỢNG//Ví dụ 1: Tạo lớp SINHVIEN gồm- Các thuộc tính: maSV, tenSV, lop, diemtoan, diemly, diemhoa, diemtb;Yêu cầu:1. Xây dựng các phương thức khởi dựng  của lớp SINHVIEN với các tham số khác nhau2. Xây dựng các phương thức của lớp SINHVIEN: nhapDL(), TinhdiemTB(), inDL();3. Khởi tạo 3 đối tượng thuộc lớp SINHVIEN theo các cách khác nhau. Nhập dữ liệu và in kết quả ra … Read More
  • Code C-C++: Viết chương trình nhập vào 3 số. In ra màn hình số lớn nhất, nhỏ nhất.//Đề bài: Viết chương trình nhập vào 3 số. In ra màn hình số lớn nhất, nhỏ nhất.#include<iostream.h>#include<conio.h>void main(){       float a,b,c; // Khai báo 3 biến a, b,c      cout<<"\n Nhap gia tri a:"; cin>>a;       cout<<"\n Nhap gia tri b:"; cin>>b;     &n… Read More
  • Code C#: Ví dụ vòng lặp FOR//Ví dụ 1: Viết chương trình C# sử dụng cấu trúc FOR in ra màn hình kết quả như sau:****************************using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace FOR_LOOP_1{class Program{static void Main(string[] args){     int i,j;     for(i=0;i<=6;i++){           … Read More
  • Code C#: Ví dụ cấu trúc IF...ELSE//Viết chương trình cho phép nhập 3 số nguyên từ bàn phím. In ra số lớn nhất.using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace Max_3_so{class Program{static void Main(string[] args){int a, b, c;Console.Write("Nhap gia tri a:");a = int.Parse(Console.ReadLine());Console.Write("Nhap gia tri b:");b = int.Parse(Console.ReadLine());… Read More
  • Code Pascal: Nhập một xâu, kiểm tra xâu có đối xứng không Yêu cầu: Nhập một xâu, kiểm tra xâu có đối xứng không procedure test_xaudoixung;var  s: String;i,j,count:integer;begin     write('Nhap vao xau s=');     readln(s);     i:=1; j:=length(s);     count:=0;     while( j >= i) do     begin        &… Read More
  • Code Pascal: Nhập vào một số, kiểm tra số có đối xứng hay khôngprocedure bai1;varn,n1,temp:integer;BEGIN    repeat          clrscr;          write('Nhap vao so n=');          readln(n);          if((n>-32000) and (n<32000) )then break;    until (1=1);    n1:=0;    temp:=n;    … Read More




Klik untuk melihat kode: :) =( :s :D :-D ^:D ^o^ 7:( :Q :p T_T @@, :-a :W *fck* x@