Hiển thị các bài đăng có nhãn Ma trận. Hiển thị tất cả bài đăng
Hiển thị các bài đăng có nhãn Ma trận. Hiển thị tất cả bài đăng
Hàm tính tổng 2 ma trận

Hàm tính tổng 2 ma trận

Với d là số dòng ,c là số cột ma trận.Mình code theo ngôn ngữ C++

void Output_Matrix(int a[][100], int d, int c)
{
for(int i=0; i<d; i++)
{
    for(int j=0; j<c; j++)
           cout<<a[i][j]<<"\t";
    cout<<endl<<endl;
}
}

void Sum_Matrix(int a[][100], int b[][100], int ab[][100], int da, int ca, int db, int cb)
{
if(da != db || ca != cb)
    cout<<"Hai ma tran khong thoa tinh chat cua CONG MA TRAN!";
else
{
    cout<<"\n\nTong cua 2 Ma tran la: \n\n";
    for(int i=0; i<da; i++)
           for(int j=0; j<ca; j++)
            ab[i][j]=a[i][j]+b[i][j];
    Output_Matrix(ab, da, ca);
}
}  
Hàm tính tích 2 ma trận

Hàm tính tích 2 ma trận

Với d là số dòng ,c là số cột ma trận.Mình code theo ngôn ngữ C++

void Output_Matrix(int a[][100], int d, int c)
{
for(int i=0; i<d; i++)
{
    for(int j=0; j<c; j++)
           cout<<a[i][j]<<"\t";
    cout<<endl<<endl;
}
}

// A(m,n) x B(n,k) = C(m,k)
// A(da, ca) x B(db,cb) = C(da,cb)
void Tich_Matrix(int a[][100], int b[][100], int ab[][100], int da, int ca, int db, int cb)
{
int i, j, k;
if(ca != db)
    cout<<"Hai ma tran khong thoa tinh chat NHAN MA TRAN!";
else
{
    cout<<"\n\nTich cua 2 Ma tran la: \n\n";

    for(i=0; i<da; i++)
        for(j=0; j<cb; j++)
            ab[i][j]=0;
    
    for(i=0; i<da; i++)
        for(j=0; j<cb; j++)
            for(k=0; k<ca; k++)
                ab[i][j]+=a[i][k]*b[k][j];
    Output_Matrix(ab, da, cb);
}
}  
Xóa dòng có tổng lớn nhất của ma trận số thực

Xóa dòng có tổng lớn nhất của ma trận số thực

Trường hợp chỉ có một dòng có tổng lớn nhất
Với n là số dòng ,m là số cột ma trận; sau khi thực hiện hàm này thì bạn xuất mảng ra sẽ thấy kết quả. Mình code theo ngôn ngữ C++

void xoadongtonglonnhat(float a[][100],int &d,int c)
{
    float max,tong;
    int dong;
    tong=0;
    for(int j=0;j<c;j++)
        tong+=a[0][j];
    max=tong;
    dong=0;
    for(int i=1;i<d;i++)
    {    tong =0;
        for(int j=0;j<c;j++)
            tong+=a[i][j];
        if(tong>max)
        {
            max=tong;
            dong=i;
        }
    
    }
        
    for(int i=dong;i<d;i++)
    {
        for(int j=0;j<c;j++)
        
            a[i][j]=a[i+1][j];
            d--;
        
        }
}
Hàm chèn  một dòng, chèn một cột trong ma trận

Hàm chèn một dòng, chèn một cột trong ma trận

Với n là số dòng ,m là số cột ma trận, c:cột cần chèn,d:dòng cần chèn; sau khi thực hiện hàm chèn dòng, cột thì bạn xuất mảng ra sẽ thấy kết quả. Mình code theo ngôn ngữ C++

void chendong(int a[][100],int &n,int m,int d)
{
    if(d>=0 &&d<n)
    {
        for(int i=n;i>d;i--)
            for(int j=0;j<m;j++)
                a[i][j]=a[i-1][j];
        n++;
        for(int j=0;j<m;j++)
        {
            cout<<"nhap phan tu cot "<<j<<" ";
            cin>>a[d][j];
        }
    }
}


void chencot(int a[][100],int n,int &m,int c)
{
    if(c>=0 && c<m)
    {
    for(int i=0;i<n;i++)
        for(int j=m;j>c;j--)
            a[i][j]=a[i][j-1];
            m++;
        for(int i=0;i<n;i++)
        {
            cout<<"nhap phan tu dong "<<i<<" ";
            cin>>a[i][c];
        }
    }

}