Kiểm tra ma trận có toàn/lẻ dương hay không

1
2356

Bài toán: Kiểm tra ma trận có toàn dương/âm hay không

Input: ma trận a có n dòng, n cột

Xử lý: duyệt mảng, nếu có 1 số nào đó nhỏ/lớn hơn 0 thì trả về -1, rồi thoát khỏi vòng lặp

Nếu duyệt đến hết mảng thì sẽ là toàn số dương/âm trả về 1

Output: không toàn số dương/âm -1, toan số dương/âm 1

Hàm kiểm tra số dương

int toanduong(int a[][MAX], int m, int n)
{
	for(int i=0;i<m;i++)
	{
		for(int j=0;j<n;j++)
		{
			if(a[i][j]<0)
			{
				return -1;
				break;
			}
		}
	}
	return 1;

Hàm kiểm tra số lẻ

int toanam(int a[][MAX], int m, int n)
{
	for(int i=0;i<m;i++)
	{
		for(int j=0;j<n;j++)
		{
			if(a[i][j]>0)
			{
				return -1;
				break;
			}
		}
	}
	return 1;
}

Chương trình kiểm tra toàn dương hay không

#include<stdio.h>
#include<conio.h>
#include<math.h>
#define MAX 100
void nhapmang(int a[][MAX], int &m, int &n);
void xuatmang(int a[][MAX], int m, int n);
int toanduong(int a[][MAX], int m, int n);
void main()
{
	int a[MAX][MAX], m,n,x,vtd,vtc;
	nhapmang(a,m,n);
	printf("\nnoi dung cua ma tran\n");
	xuatmang(a,m,n);
	if(toanduong(a,m,n)==-1)
		printf("\nMa tran khong toan duong");
	else 
		printf("\nMa tran toan so duong ");
	printf("\nChuc Ban hoc tot");
	getch();
}
void nhapmang(int a[][MAX], int &m, int &n)
{
	int i,j;
	do
	{
		printf("nhap vao so dong cua ma tran: ");
		scanf("%d",&m);
	}while(m<=0);
	do
	{
		printf("nhap vao so cot cua ma tran: ");
		scanf("%d",&n);
	}while(n<=0);
	for( i=0;i<m;i++)
	{
		for( j=0;j<n;j++)
		{
			printf("\nso phan tu a[%d][%d]: ",i,j);
			scanf("%d",&a[i][j]);
		}
	}
}
void xuatmang(int a[][MAX], int m, int n)
{
	for(int i=0;i<m;i++)
	{
		for(int j=0;j<n;j++)
		{
			printf("%5d",a[i][j]);
		}
		printf("\n");
	}
}
int toanduong(int a[][MAX], int m, int n)
{
	for(int i=0;i<m;i++)
	{
		for(int j=0;j<n;j++)
		{
			if(a[i][j]<0)
			{
				return -1;
				break;
			}
		}
	}
	return 1;
}

Mình chia sẽ code này đê các bạn tham khảo các vấn đề tương tự. Tuy nhiên các bạn nên tự làm lại, đừng nên copy. Nếu gặp vấn đề gì khó khăn, hoặc thắc mắc gì, các bạn có thể đặt câu hỏi ở cuối bài. Mình sẽ giải đáp.

1 COMMENT

This site uses Akismet to reduce spam. Learn how your comment data is processed.