Kiểm tra mảng số nguyên có tồn tại hai giá trị 0 liên tiếp nhau hay không

0
1890

Bài toán: Kiểm tra mảng số nguyên có tồn tại hai giá trị 0 liên tiếp nhau hay không ?

Input: mảng a có n phần tử

Xử lý:  duyệt mảng tìm giá trị 0 đầu tiên và giá trị 0 đầu tiên +1có bằng 0 hay không

Output: mảng không có giá trị 0 liên tiếp -1, giá trị 0 liên tiếp 1

Hàm kiểm tra giá trị 0 liên tiếp

int KiemTraSo0LienTiep(int a[], int n)
{
	for( int i=0;i<n;i++)
		if(a[i]==0 && a[i+1]==0)
		{
			return 1;
			break;
		}
	return -1;
}

Chương trình kiểm tra giá trị 0 liên tiếp

#include<stdio.h>
#include<conio.h>
#define MAX 100
void nhapmang(int a[], int &n);
void xuatmang(int a[], int n);
int KiemTraSo0LienTiep(int a[], int n);
void main()
{
	int a[MAX],n;
	nhapmang(a,n);
	printf("\nNoi dung cua mang");
	xuatmang(a,n);
	if( KiemTraSo0LienTiep(a,n)==-1)
		printf("\nMang khong co gia tri  0 lien tiep");
	else
		printf("\nMang co gia tri 0 lien tiep");
	printf("\nChuc cac ban hoc tot");
	getch();
}
void nhapmang(int a[], int &n)
{
	do
	{
		printf("\nSo phan tu trong mang ");
		scanf("%d",&n);
	}while(n<=0 && n>100);
	for(int i=0 ; i<n ; i++ )
	{
		printf("\nSo phan tu a[%d] la: ",i);
		scanf("%d",&a[i]);
	}
}
void xuatmang(int a[], int n)
{
	for(int i=0 ; i<n ; i++ )
		printf("%4d",a[i]);
}
int KiemTraSo0LienTiep(int a[], int n)
{
	for( int i=0;i<n;i++)
		if(a[i]==0 && a[i+1]==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.

Chúc các bạn thành công!

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