Chào các bạn! Vì nhiều lý do từ nay Truyen2U chính thức đổi tên là Truyen247.Pro. Mong các bạn tiếp tục ủng hộ truy cập tên miền mới này nhé! Mãi yêu... ♥

THIPTTKTT1

/********************************************************

- Phan tich va thiet ke thuat toan

- Bieu dien tap hop bang mang

- Thuc hien cac phep toan voi

- tap hop cac so le va so nguyen to nho hon 10

- Writed by Nguyen The Linh

********************************************************/

#include<stdio.h>

#include<conio.h>

#include<math.h>

// Initialize application

const int n=10; //Max

typedef int Set[n]; // Define Vecto

/********************************************************

- Class tap hop

********************************************************/

// Tao tap hop rong

void makenull_Set(Set &A,int &na)

{

na=0;

}

// Lay hop cua hai tap hop A va B tao thanh tap hop C

void union_Set(Set A,int na,Set B,int nb,Set &C,int &nc)

{

int a=0,b=0;

while((a<na) && (b<nb))

{

if(A[a]<B[b])

{

C[nc]=A[a];

a++;

}

else if(A[a]>B[b])

{

C[nc]=B[b];

b++;

}

else

{

C[nc]=A[a];

a++;

b++;

}

nc++;

}

while(a<na)

{

C[nc]=A[a];

a++;

nc++;

}

while(b<nb)

{

C[nc]=B[b];

b++;

nc++;

}

}

// Lay giao cua hai tap hop A va B tao thanh tap hop C

void intersection_Set(Set A,int na,Set B,int nb,Set &C,int &nc)

{

int a=0,b=0;

while(a<na && b<nb)

{

if(A[a]<B[b]) a++;

else if(A[a]>B[b]) b++;

else

{

C[nc]=A[a];

nc++;

a++;

b++;

}

}

}

// Kiem tra xem mot phan tu co thuoc tap hop hay khong

// Return vi tri if thuoc, return -1 neu khong thuoc

int member_Set(int x,Set A,int na)

{

int i=0;

while(i<na && A[i]!=x)

i++;

if(i<na) return 1;

else return 0;

}

// Lay hieu cua hai tap hop A va B tao thanh tap hop C

void difference_Set(Set A,int na,Set B,int nb,Set &C,int &nc)

{

for(int a=0;a<na;a++)

if(!member_Set(A[a],B,nb))

{

C[nc]=A[a];

nc++;

}

}

// Ham chen mot phan tu vo tap hop

void insert_Set(int x,Set &A,int &na)

{

if(!member_Set(x,A,na))

{

A[na]=x;

na++;

}

}

// Hien thi cac phan tu cua tap hop ra man hinh

void show_Set(Set A,int na)

{

for(int i=0;i<na;i++)

printf("%4d",A[i]);

}

/********************************************************

- Chuong trinh chinh

********************************************************/

// Mot so ham phu

// Ham kiem tra mot so n co phai so nguyen to

int is_nguyento(int n)

{

if(n<=1) return 0;

int ok=1,i=2;

while(ok && (i<=(int)sqrt(n)))

{

ok=n%i;

i++;

}

return (ok!=0);

}

// Kiem tra mot so x co phai la so le khong

int is_le(int x)

{

return (x&0x0001);

}

int main()

{

Set A; // Tap cac so nguyen to

int na;

Set B; // Tap cac so le

int nb;

Set C; // Tap giao cua A va B

int nc;

Set D; // Tap hop cua A va B

int nd;

Set E; // Tap hieu cua A va B

int ne;

// Khoi tao cac tap hop A , B la cac tap rong

makenull_Set(A,na);

makenull_Set(B,nb);

makenull_Set(C,nc);

makenull_Set(D,nd);

makenull_Set(E,ne);

// Insert du lieu vo cac tap hop

for(int i=0;i<n;i++)

{

if(is_nguyento(i))

insert_Set(i,A,na);

if(is_le(i))

insert_Set(i,B,nb);

}

// Hien thi cac tap hop A va B

printf("

--------------------------------------

");

printf("

Tap hop cac so nguyen to A");

printf("

--------------------------------------

");

show_Set(A,na);

printf("

--------------------------------------

");

printf("

Tap hop cac so le B");

printf("

--------------------------------------

");

show_Set(B,nb);

// Giao cua hai tap hop

printf("

--------------------------------------

");

printf("

Giao cua hai tap hop");

printf("

--------------------------------------

");

intersection_Set(A,na,B,nb,C,nc);

show_Set(C,nc);

// Hop cua hai tap hop

printf("

--------------------------------------

");

printf("

Hop cua hai tap hop");

printf("

--------------------------------------

");

union_Set(A,na,B,nb,D,nd);

show_Set(D,nd);

// Hieu cua hai tap hop

printf("

--------------------------------------

");

printf("

Hieu cua hai tap hop");

printf("

--------------------------------------

");

difference_Set(A,na,B,nb,E,ne);

show_Set(E,ne);

getch();

return 0;

Bạn đang đọc truyện trên: Truyen247.Pro

Tags: