Chào các huynh!!! Tình hình là đệ đang làm bài Cộng 2 ma trận...phần nhập thì chắc ok rùi...còn phần Cộng 2 ma trận nó cứ trả về số -842150450..
mong các huynh chỉ giáo!!!:haha:
tks các huynh trước:love:
mong các huynh chỉ giáo!!!:haha:
tks các huynh trước:love:
Code:
#include "stdafx.h" #include <stdio.h> #include <conio.h> #include <malloc.h> #include <stdlib.h> #include <time.h> #define Max 100 void NhapMT(int **MT,int Dong,int Cot); void XuatMT(int **MT,int Dong,int Cot); void CongMT(int **MT1,int Dong1,int Cot1,int **MT2,int Dong2,int Cot2); void ngaunhien(int **MT,int dong,int cot); void main() { int dong1,cot1,dong2,cot2,k; int **a,**b; do { printf("nhap so dong va cot cua ma tran 1: "); scanf("%d%d",&dong1,&cot1); } while(dong1<1||cot1<1||dong1>Max||cot1>Max); do { printf("nhap so dong va cot cua ma tran 2: "); scanf("%d%d",&dong2,&cot2); } while(dong2<1||cot2<1||dong2>Max||cot2>Max); a=(int **)malloc(100); for(int d=0;d<dong1;d++) a[d]=(int *)malloc(100); b=(int **)malloc(100); for(int d=0;d<dong2;d++) b[d]=(int *)malloc(100); do { printf("Hay chon 1 cai dy kung:"); printf("\n 1: Nhap gia tri ngau nhien cho MT1"); printf("\n 2: Nhap gia tri MT1 theo y thich cua thi chu"); printf("\n 3: Nhap gia tri ngau nhien cho MT2"); printf("\n 4: Nhap gia tri MT2 theo y thich cua thi chu"); printf("\n 5: Xuat MT1 ra man hinh"); printf("\n 6: Xuat MT2 ra man hinh"); printf("\n 7 Cong 2 MT"); printf("\n 0: Thoat khoi chuong trinh\n"); scanf("%d",&k); switch(k) { case 0: { printf("\n ***************\n"); printf("\n * BYE BYE *\n"); printf("\n ***************\n"); break; } case 1: ngaunhien(a,dong1,cot1); break; case 2: NhapMT(a,dong1,cot1); break; case 3: ngaunhien(b,dong2,cot2); break; case 4: NhapMT(a,dong2,cot2); break; case 5: XuatMT(a,dong1,cot1); break; case 6: XuatMT(b,dong2,cot2); break; case 7: { if((dong1!=dong2)||(cot1!=cot2)) { printf("khong cong dc nha kung"); break; } else { CongMT(a,dong1,cot1,b,dong2,cot2); } } } printf("\nVui long dap ban phim de tiep tuc...\n"); getch(); } while(k!=0); } void ngaunhien(int **MT,int dong,int cot) { srand(time(NULL)); for(int i=0;i<dong;i++) for(int j=0;j<cot;j++) { MT[i][j]=rand()%10; } } void NhapMT(int **MT,int Dong,int Cot) { for(int i=0;i<Dong;i++) for(int j=0;j<Cot;j++) { printf("A[%d][%d]= ",i,j); scanf("%d",&MT[i][j]); } } void XuatMT(int **MT,int Dong,int Cot) { for(int i=0;i<Dong;i++) { for(int j=0;j<Cot;j++) printf("%4d",MT[i][j]); printf("\n"); } } void CongMT(int **MT1,int Dong1,int Cot1,int **MT2,int Dong2,int Cot2) { int **MT3; MT3=(int **)malloc(100); for(int d=0;d<Dong1;d++) MT3[d]=(int *)malloc(100); for(int i=0;i<Dong1;i++) for(int j=0;j<Cot1;j++) { MT3[i][j]=MT1[i][j]+MT2[i][j]; } XuatMT(MT3,Dong1,Cot1); }
Comment