Admin Admin
Tổng số bài gửi : 116 Join date : 06/09/2011 Age : 34 Đến từ : long an
| Tiêu đề: Bài tập C mẫu thầy Phúc gởi Fri Dec 09, 2011 2:50 pm | |
| Chép Code vào C rồi chay nha! - Code:
-
/************************ * Bai tap mau * *************************/
#include <stdio.h> #include <conio.h>
/***************************************** * Ham nhap mang * * Ham nay se xet chi cho phep nhap n >0,* * neu nho hon se phai nhap lai * *****************************************/ void fun_nhapmang(int a[],int &n) { printf("\nHay nhap do lon cua mang: "); scanf("%d",&n); while (n<=0) { printf("\nXin loi ban da nhap sai,\nHay nhap lai n >=0: "); scanf("%d",&n); } for (int i=0;i<n;i++) { printf("\nNhap phan tu mang thu %d : ",i+1); scanf("%d",&a[i]); }
}
/***************************************** * Ham xuat mang * * Ham nay chi co nhiem vu xuat gia tri * * mang voi do dai n chu ko phai het * * cac gia tri cua mang * *****************************************/ void fun_xuatmang(int a[],int n) { printf("\nCac phan tu trong mang: "); for (int i=0;i<n;i++) printf("%d ",a[i]); }
/***************************************** * Ham sap xep tang dan * * Ham nay se sap xep mang voi gia tri * * n nhap vao chu ko fai het mang * * * *****************************************/
void fun_tangdan(int a[],int n) { int tam; for (int i=0;i<n;i++) for (int j=i+1;j<n;j++) { if (a[i]>a[j]) // giam dan thi se doi lai a[i]<a[j] { tam=a[i]; a[i]=a[j]; a[j]=tam; } } }
/***************************************** * Ham sap xep giam dan * * Ham nay se sap xep mang voi gia tri * * n nhap vao chu ko fai het mang * * * *****************************************/
void fun_giamdan(int a[],int n) { int tam; for (int i=0;i<n;i++) for (int j=i+1;j<n;j++) { if (a[i]<a[j]) // tang dan thi se doi lai a[i]>a[j] { tam=a[i]; a[i]=a[j]; a[j]=tam; } } }
/***************************************** * Ham xoa phan tu mang * * Ham nay se xoa gia tri mang nam trong * * gioi han cua do lon mang nhap vao * * neu lon hon se phai nhap lai * *****************************************/
void fun_xoa_pt_mang(int a[],int vitri, int &dolon) { if (vitri>=0 && vitri<=dolon) { label_1: vitri--; // vitri-- vi li do muon xoa dung thu tu nhap vao // vi du xoa thu 3 thi se xoa dung vi tri thu 3 // moi nguoi thuong viet nhap 2 thi se xoa vi tri thu 3 for (;vitri<dolon;vitri++) a[vitri]=a[vitri+1]; dolon--; } else { do { printf("\nVi tri vuot qua do lon mang\nHay nhap lai vi tri : "); scanf("%d",&vitri); } while(vitri<0||vitri>dolon); goto label_1; } }
/* ************************ HAM CON XOA CAC PHAN TU TRUNG VI TRI VA GIONG NHAU *************************/
void fun_xoa_trungnhau(int a[],int &n,int b[], int &m) { //int i; if (n>=m) //xet do lon tren lech giua 2 mang { for (int i=0;i<m;i++) { if (a[i]==b[i]) { fun_xoa_pt_mang(a,i+1,n); // o day i+1 vi li do viet cho phu hop voi ham xoa phan tu mang fun_xoa_pt_mang(b,i+1,m); // o day j+1 vi li do viet cho phu hop voi ham xoa phan tu mang --i; // phai tru i di 1 gia tri vi li do xoa lap vi tri truoc } else {}// khong lam j ca } } else { for (int i=0;i<n;i++) { if (a[i]==b[i]) { fun_xoa_pt_mang(a,i+1,n); fun_xoa_pt_mang(b,i+1,m); i--; } else {} } } }
/* ************************ HAM CON XOA CAC PHAN TU GIONG NHAU KHONG CAN TRUNG VI TRI SU DUNG 2 VONG LAP FOE MOI NGUOI CHU Y TAI DAY CO NHIEU THU TU DONG LENH NEN VIET LAI BANG TAY DE HIEU THU TU THUC THI DONG LENH CUA TUNG PHAN CHU Y SU DUNG BIEN TAM VA LI DO SU DUNG BIEN TAM *************************/
void fun_xoa_giongnhau(int a[],int &n,int b[],int &m) {
int tam; for (int i=0;i<n;i++) { tam=a[i]; //DUNG DE KHAC PHUC TINH TRANG SAI KHI PHAN TU LAP VAO NOI XOA TRUOC DO for (int j=0;j<m;j++) if (tam==b[j]) { fun_xoa_pt_mang(b,j+1,m); j--; if (tam==a[i]) { fun_xoa_pt_mang(a,i+1,n); i--; } } } }
/* ************************ HAM CON MENU THU 1 *************************/
int MENU_1(void) { int STT; printf("\n1. Sap xep tang dan va giam dan. "); printf("\n2. Xoa mot phan tu cua mang. "); printf("\n3. Xoa cac phan tu mang trung vi tri va giong nhau. "); printf("\n4. Xoa tat ca cac phan tu giong nhau."); printf("\n5. Thoat.\n\n"); scanf("%d",&STT); while (STT<=0 && STT>5) { printf("\nHay nhap lai so thu tu :"); scanf("%d",&STT); } return STT; }
/* ************************ HAM CON MENU THU 2 *************************/
int MENU_2(void) { int STT; printf("\n1. Sap xep tang dan. "); printf("\n2. Sap xep giam dan. "); printf("\n3. Thoat.\n\n"); scanf("%d",&STT); while (STT<=0 && STT>3) { printf("\nHay nhap lai so thu tu :"); scanf("%d",&STT); } return STT; }
/* ************************ HAM CHING TRONG CHUONG TRINH MOI NGUOI XEM CHU Y PHAN NAY CO SU DUNG NHUNG LENH MENU KEM THEO DO LA NHUNG DOAN HOI MUON THOAT RA KHONG O DAY CHI VIET THOAT RA TUNG CAP, CO NGHIA LA CAP 2 THI THOAT RA CAP 1 *************************/
void main() { int n=0,m=0; int a[100],b[100]; int STT_MENU1,STT_MENU2; int vitri_xoa;
clrscr(); // lenh xoa man hinh moi khi chay chuong trinh
printf("Chao tat ca moi nguoi, bai tap gom 4 bai"); label_MENU1: STT_MENU1=MENU_1(); //GOI MENU DAU TIEN switch(STT_MENU1) { case 1: { label_MENU2: printf("\nBan da chon cau 1 :"); STT_MENU2=MENU_2(); switch(STT_MENU2) { case 1: { printf("\nBan da cho sap xep tang dan"); fun_nhapmang(a,n); fun_tangdan(a,n); fun_xuatmang(a,n); break; } case 2: { printf("\nBan da cho sap xep giam dan"); fun_nhapmang(a,n); fun_giamdan(a,n); fun_xuatmang(a,n); break; } default: goto label_MENU1; } printf("\n\nBan co muon tiep tuc y/n? "); // TAI DAY CHI VIET DON GIAM TIEP TUC THI QUAY VE MENU THU 2 // THOAT RA THI THOAT RA MENU CAP 1 // MOI NGUOI CO THE SUA KHI TIEP TUC THI LAM LAI CAU DA CHON // XONG THOAT THI QUAY RA MENU CAP 2 if (getch()=='y') goto label_MENU2; else goto label_MENU1; } case 2: { printf("\nBan da chon cau 2 :"); fun_nhapmang(a,n); fun_xuatmang(a,n); printf("\nNhap vi tri muon xoa trong mang : "); scanf("%d",&vitri_xoa); fun_xoa_pt_mang(a,vitri_xoa,n); fun_xuatmang(a,n); printf("\n"); printf("\n\nBan co muon tiep tuc y/n? "); if (getch()=='y') goto label_MENU1; else break; } case 3: { printf("\nBan da chon cau 3 :"); printf("\nNhap mang thu nhat :"); fun_nhapmang(a,n); printf("\nNhap mang thu hai :"); fun_nhapmang(b,m);
fun_xuatmang(a,n); fun_xuatmang(b,m);
fun_xoa_trungnhau(a,n,b,m);
printf("\n"); fun_xuatmang(a,n); fun_xuatmang(b,m); printf("\n"); printf("\n\nBan co muon tiep tuc y/n? "); if (getch()=='y') goto label_MENU1; else break; } case 4: { printf("\nBan da chon cau 4 :"); printf("\nNhap mang thu nhat :"); fun_nhapmang(a,n); printf("\nNhap mang thu hai :"); fun_nhapmang(b,m);
fun_xuatmang(a,n); fun_xuatmang(b,m);
fun_xoa_giongnhau(a,n,b,m);
printf("\n"); fun_xuatmang(a,n); fun_xuatmang(b,m);
printf("\n"); printf("\n\nBan co muon tiep tuc y/n? "); if (getch()=='y') goto label_MENU1; else break; } default: break; } } File word Bài tập mẫu | |
|
linhmevatli
Tổng số bài gửi : 8 Join date : 18/09/2011
| Tiêu đề: Re: Bài tập C mẫu thầy Phúc gởi Sat Dec 10, 2011 10:44 pm | |
|
/* ************************ HAM CON XOA CAC PHAN TU GIONG NHAU KHONG CAN TRUNG VI TRI SU DUNG 2 VONG LAP FOE MOI NGUOI CHU Y TAI DAY CO NHIEU THU TU DONG LENH NEN VIET LAI BANG TAY DE HIEU THU TU THUC THI DONG LENH CUA TUNG PHAN CHU Y SU DUNG BIEN TAM VA LI DO SU DUNG BIEN TAM *************************/
void fun_xoa_giongnhau(int a[],int &n,int b[],int &m) {
int tam; for (int i=0;i<n;i++) { tam=a[i]; //DUNG DE KHAC PHUC TINH TRANG SAI KHI PHAN TU LAP VAO NOI XOA TRUOC DO for (int j=0;j<m;j++) if (tam==b[j]) { fun_xoa_pt_mang(b,j+1,m); j--; if (tam==a[i]) { fun_xoa_pt_mang(a,i+1,n); i--; } } } }
cấu trúc của hàm này bị nhầm ở nếu mảng nhập vào 2 giá trị bằng nhau trong mảng xử lí sai. thực hiên thao tác xử lí xóa tất cả số a[i] trên mảng b nhưng chỉ xóa 1 số a[i] ở 1 vị trí hoặc gần kề với nó.
| |
|
Vạn Lý Độc Hành Admin
Tổng số bài gửi : 50 Join date : 16/09/2011 Age : 35 Đến từ : Đồng Nai
| Tiêu đề: Re: Bài tập C mẫu thầy Phúc gởi Mon Dec 12, 2011 12:24 am | |
| bó tay với môn này, sao mà lung tung thứ phải nộp, túm lại là phải nộp cái gì, rồi bài mẫu này là sao ? Ai biết chỉ với đi ?? | |
|
electronic91
Tổng số bài gửi : 17 Join date : 15/09/2011
| Tiêu đề: Bài tập C mẫu thầy Phúc gởi Mon Dec 12, 2011 11:35 pm | |
| co ai co de may cau truoc khong vay cho xin nhanh nhanh di ( | |
|
Sponsored content
| Tiêu đề: Re: Bài tập C mẫu thầy Phúc gởi | |
| |
|