2.19 ma tran nghich dao

Bài tâp: Nhâp hai ma trân vuông A, B cùng câp.

Kiêm tra xem B có phai là nghich dao cua A hay không.

Nêu không, in tích cua A và B.

*/

#include<stdio.h>

#include<stdlib.h>

#include<conio.h>

void Nhapmatran(int N, float *a, float *b){

int i, j, k=0;

if(a != NULL && b != NULL){

printf("Ban hay nhap ma tran A theo thu tu tung hang:

");

for(i=0; i<N; i++){

printf("Hang thu %d

", i+1);

for(j=0; j<N; j++){

scanf("%f", &a[k]);

k++;

}

}

k = 0;

printf("Ban hay nhap ma tran B theo thu tu tung hang:

");

for(i=0; i<N; i++){

printf("Hang thu %d

", i+1);

for(j=0; j<N; j++){

scanf("%f", &b[k]);

k++;

}

}

}

else printf("Khong du bo nho!!

");

}

void Inmatran(int N, float *a, float *b){

int i, j;

printf("Ma tran A ban vua nhap la:

");

for(i=0; i<N; i++){

for(j=0; j<N; j++){

printf("%.2f\t", a[i*N + j]);

}

printf("

");

}

printf("Ma tran B ban vua nhap la:

");

for(i=0; i<N; i++){

for(j=0; j<N; j++){

printf("%.2f\t", b[i*N +j]);

}

printf("

");

}

}

int KtraAvaB(int n, int m, int N, float *a, float *b){

int i, j, d=0;

for(i=n*N, j=m; i<(n+1)*N, j<N*N; i++, j+=N){

if(a[i] == b[j]){

d++;

if(d == N) return 1;

}

}

return 0;

}

void TichAvaB(int N, float *a, float *b){

int i, j, k;

float *c;

c = malloc(N*N*sizeof(float));

for(i=0; i<N; i++){

for(j=0; j<N; j++){

c[i*N+j] =0;

for(k=0; k<N; k++){

c[i*N+j] = c[i*N+j] + a[i*N +k]*b[k*N+j];

}

}

}

for(i=0; i<N; i++){

for(j=0; j<N; j++){

printf("%.2f\t", c[i*N+j]);

}

printf("

");

}

}

void XetAvaB(int N, float *a , float *b){

int i, j, d=0;

for(i=0, j=0; i<N, j<N; i++, j++){

if(KtraAvaB(i, j, N, a, b)){

d++;

}

}

if(d==N) printf("Hai ma tran ban nhap la 2 ma tran nghich dao!

");

else{

printf("Hai ma tran ban nhap khong phai la 2 ma tran nghich dao!

");

printf("Tich cua 2 ma tran do la:

");

TichAvaB(N, a, b);

}

}

main()

{

int N;

float *a, *b;

printf("Ban muon nhap ma tran vuong cap bao nhieu?

");

scanf("%d", &N);

a = malloc(N*N*sizeof(float));

b = malloc(N*N*sizeof(float));

Nhapmatran(N, a, b);

Inmatran(N, a, b);

XetAvaB(N, a, b);

getch();

free(a);

free(b);

return 0;

}

Bạn đang đọc truyện trên: AzTruyen.Top

Tags: #education