Chào các bạn! Vì nhiều lý do từ nay Truyen2U chính thức đổi tên là Truyen247.Pro. Mong các bạn tiếp tục ủng hộ truy cập tên miền mới này nhé! Mãi yêu... ♥

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: Truyen247.Pro

Tags: #education