Giúp em bài tập C/C++ về mảng 1 chiều số nguyên tố

Viết các hàm sau:
- Nhập liên tiếp 1 dãy các số nguyên cho đến khi gặp số 0 thì dừng
- Sắp xếp dãy số nguyên sao cho:nửa đầu của dãy gồm các phần tử chẵn nửa sau gồm các phần tử lẻ và số 0 nằm chính giữa của dãy
- Hiện ra màn hình các số nguyên tố có trong dãy vừa nhập. Nếu không tồn tại số nguyên tố nào thì hiện ra thông báo:"Không tồn tịa số nguyên tố có trong dãy"
- Đổi chỗ giữa 2 phần tử lớn nhất và nhỏ nhất trong dãy . Nếu tồn tại nhiều phần tử cùng mang giá trị lớn nhất và nhỏ nhất thì đổi chỗ 2 phần tử đầu tiên tìm được trong dãy
Viết hàm main() kiểm tra kết quả thực hiện các hàm
 

taplamhacker

♥ Thanh Trâm ♥
Của bạn đây
[AH]
Mã:
#include<stdio.h>
void nhap(int *a, int &n)
{
	for(int i = 0 ; ; i ++)
	{
		scanf("%d",(a+i));
		n=i;
		if(*(a+i) ==0)
			break;
	}
	n++;
	return ;
}
void swap(int &a, int &b)
{
	int tmp = a;
	a=b;
	b=tmp;
	return ;
}
int* sort(int *a, int n)
{
	int *b = new int;
	int dem =0;
	for(int i = 0 ; i < n ; i ++)
		if(*(a+i) % 2 ==0 && *(a+i) != 0)
			*(b+dem++)=*(a+i);
	*(b+dem++)=0;
	for(int i = 0 ; i < n ; i ++)
	{
		if(*(a+i) % 2 !=0 )
			*(b+dem++)=*(a+i);
	}
	return b;
}
int snt(int n)
{
	if(n < 2)
		return 0;
	if( n == 2 || n == 3)
		return 1;
	if(n %2 ==0 || n %3 == 0)
		return 0;
	for(int i = 3 ; i < n ; i+=2)
		if(n %i == 0)
			return 0;
	return 1;
}
void snt(int *a, int n)
{
	int kt =0;
	for(int i = 0 ; i < n ; i ++)
		if(snt(*(a+i)) == 1)
		{
			printf("%d ",*(a+i));
			kt++;
		}
	if(kt ==0)
		printf("K co snt");
	return ;
}
void xuatmang(int *a, int n)
{
	for(int i = 0 ; i < n ; i ++)
		printf("%d ",*(a+i));
	printf("\n");
	return ;
}
void doicho(int *a, int n)
{
	int min = *a;
	int max = min;
	int vtmin=0,vtmax=0;
	for(int i = 1 ; i < n ; i ++)
	{
		if(*(a+i) > max )
		{
			max = *(a+i);
			vtmax = i;
		}
		if(*(a+i) < min )
		{
			min = *(a+i);
			vtmin = i;
		}
	}
	swap(*(a+vtmax),*(a+vtmin));
	return ;
}
int main()
{
	int *a = new int[10000];
	int *b = new int[10000];
	int n=0;
	nhap(a,n);
	xuatmang(a,n);
	b=sort(a,n);
	xuatmang(b,n);
	printf("\n");
	snt(a,n);
	printf("\n");
	doicho(a,n);
	xuatmang(a,n);
}
[/AH]
 
Top