#include<stdio.h>
#include<conio.h>

    int a[50][50];
    int b[50][50];
    int c[50][50];
    int d[50][50];
    int i,j,m,n;
int isInteger(int n)
{
    if (n <= 0) {
        return 0;
    }
    return 1;
}
int cauA(){
	
printf("cau A\n");
	while(1){
		int n1;
		printf("nhap so nguyen duong n:");
		scanf("%d",&n1);
		if(isInteger(n1)){
			printf("n la so nguyen duong\n");
			break;
		} else {
			printf("n khong phai la so nguyen duong. Nhap lai\n");
		}
	}
	return 1;
}
int cauB(){
	
printf("cau B\n");

    printf("nhap so hang n="); scanf("%d",&n);
    printf("nhap so cot m="); scanf("%d",&m);
    printf("nhap ma tran A\n");
    printf("nhap vao ma tran:\n");
    for(i=0;i<n;i++)
    {
        for(j=0;j<m;j++)
        {
            scanf("%d",&a[i][j]);
        }
    }
    printf("nhap ma tran B\n");
    printf("nhap vao ma tran:\n");
    for(i=0;i<n;i++)
    {
        for(j=0;j<m;j++)
        {
            scanf("%d",&b[i][j]);
        }
    }
	return 1;
}
int cauC(){
	
    printf("cau C\n");
    printf("cau C\nma tran vua nhap la:\n");
    printf("ma tran A:\n");
    for(i=0;i<n;i++)
    {
        for(j=0;j<m;j++)
        {
            printf("%d ",a[i][j]);
        }
        printf("\n");
    }
    printf("ma tran B:\n");
    for(i=0;i<n;i++)
    {
        for(j=0;j<m;j++)
        {
            printf("%d ",b[i][j]);
        }
        printf("\n");
    }
	return 1;
}
int cauD(){
	
    printf("cau D\n");
    for(i=0;i<n;i++)
    {
        for(j=0;j<m;j++)
        {
        	if(a[i][j] > 0){
        		
            printf("%d ",a[i][j]);
			} else {
				
            printf(" ");
			}
        }
        printf("\n");
    }
	return 1;
}
int cauE(){
	
    printf("cau E\n");
    
    for(i=0;i<n;i++)
    {
        for(j=0;j<m;j++)
        {
        	if(b[i][j] <= 0){
        		
            printf("%d ",b[i][j]);
			} else {
				
            printf(" ");
			}
        }
        printf("\n");
    }
	return 1;
}
int cauF(){
    printf("cau F\n");
    int maxA = a[0][0];
    for(i=0;i<n;i++)
    {
        if(a[i][0]> maxA){
        	maxA = a[i][0];
		}
    }
    printf("so lon nhat trong cot cua ma tran A la: %d\n", maxA);
    
	return 1;
}
int cauG(){
    printf("cau G\n");
    int minB = b[0][0];
    for(i=0;i<n;i++)
    {
        if(b[0][i]< minB){
        	minB = b[0][i];
		}
    }
    printf("so nho nhat trong hang cua ma tran B la: %d\n", minB);
    

	return 1;
}
int cauH(){
    printf("cau H\n");
    
    printf("ma tran C:\n");
    for(i=0;i<n;i++)
    {
        for(j=0;j<m;j++)
        {
        	c[i][j] = a[i][j] + b[i][j];
            printf("%d ",c[i][j]);
        }
        printf("\n");
    }
	return 1;
}
int cauI(){
    printf("cau I\n");
    
    printf("ma tran D:\n");
    for(i=0;i<n;i++)
    {
        for(j=0;j<m;j++)
        {
        	d[i][j] = a[i][j] * b[i][j];
            printf("%d ",d[i][j]);
        }
        printf("\n");
    }
	return 1;
}
main()
{ 
	cauA();
	cauB();
	cauC();
	cauD();
	cauE();
	cauF();
	cauG();
	cauH();
	cauI();
    return 1;
}