Tích ma trận với ma trận chuyển vị

Đề bài:
Cho ma trận A chỉ gồm các số nguyên dương cấp N*M. Hãy viết chương trình tính tích của A với ma trận chuyển vị của A.
Dữ liệu vào: dòng đầu tiên ghi hai số n và m; n dòng tiếp theo ghi các phần tử của ma trận
Dữ liệu ra: ma trận tích
INPUT
2 2
1 2
3 4
OUTPUT
5 11
11 25
Giải:

#include<iostream>
using namespace std;
int a[100][100];
int b[100][100];
int c[100][100];
int n,m;

void input() {
 cin >> n >> m;
 for(int i = 0; i < n; i++)
  for(int j = 0; j < m; j++)
   cin >> a[i][j];
}

void cvi() {
 for(int i = 0; i < n; i++) {
  for(int j = 0; j < m; j++) {
   b[j][i] = a[i][j];
  }
 }
}
void tich() {
 for(int i = 0; i < n; i++) {
  for(int j = 0; j < n; j++) {
   for(int l = 0; l < m; l++) {
    c[i][j] += a[i][l] * b[l][j];
   }
  }
 }
 for(int i = 0; i < n; i++) {
  for(int j = 0; j < n; j++) {
   cout << c[i][j] << " ";
  }
  cout << endl;
 }
}

int main() {
 input();
 cvi();
 tich();
}

Nhận xét

Bài đăng phổ biến từ blog này

Đổi chỗ chữ số đầu tiên và chữ số cuối cùng của một số

Chuyển đơn vị đo nhiệt độ C và F

Tìm số đẹp (lộc phát)