đáp án đề thi lí thuyết tốt nghiệp khóa 3 - lập trình máy tính - mã đề thi ltmt - lt (17)

5 154 0
đáp án đề thi lí thuyết tốt nghiệp khóa 3 - lập trình máy tính - mã đề thi ltmt - lt (17)

Đang tải... (xem toàn văn)

Thông tin tài liệu

   !  "#!$%"&$ '()**+,)*-). "/01!23 45 6/0784984:6" ;<=>?/@0,0-A BC DCE DFG H!IJKLJC 1 a. Phương php biu din danh sch liên kt kp - Danh sch liên kt kp là một cấu trúc dữ liệu bao gồm 1 tập hợp cc phần tử, trong đó mỗi phần tử là một nút, trong mỗi nút có chứa hai liên kt tới nút liền trước và liền sau nút đó. - Cấu trúc 1 nút của danh sch liên kt kp Lptr INFO Rptr Trong đó: + INFO: là trường chứa thông tin (dữ liệu) của nút + Lptr: là con trỏ chứa địa chỉ của nút liền trước (bên tri) nút này trong danh sch. + Rptr: là con trỏ chứa địa chỉ của nút liền sau (bên phải) nút này trong danh sch. - Danh sch liên kt kp luôn được quản lý bởi hai con trỏ trỏ: một vào nút cực tri của danh sch và một trỏ vào nút cực phải của danh sch. - Một danh sch liên kt kp được biu din tổng qut như sau: 1,0 b. ,Thêm một nút có thông tin là X vào trước nút M đang trỏ, nu không tồn tại nút M thì chèn vào đầu cực tri Trang: 1/5 L R void themtruocM(L, R, X, M) { // Tạo nút mới new<= avail; new->info=X; if(L==NULL); {L=R=new; new->rptr=new->lprt=NULL;} else { // Tìm nút M P=L; while(p!=M && p!=NULL) p=p->rptr; if(P!=NULL) // tìm thấy nút M If(M==L) // M trùng với nút cực trái {new->rptr = M; M->lptr=new; new->lptr=NULL; L=new; } else { p=M->lptr; New->rptr=M; M->lptr=new; p->rptr=new; new->lptr=p;} else // Không tìm thấy nút M {new->rptr = M; M->lptr=new; new->lptr=NULL; L=new; } } } 1,0 , Xóa nút thứ k trong danh sch. void xoa_nut_thu_k(L, R, M) { // Tìm nút thứ k if(L== NULL) count<<”Danh sach rong”; else { dem=1; p=L; while(dem<k && p!=NULL) p=p->link; if(p!=NULL) { switch { case L==R: {L=R=NULL; break;} case L==p: {L=L->rptr; L- >lptr=NULL;break;} case R==p: {R=R->lptr; R- >rptr=NULL;break;} default: {q=p->lptr; M=p->rptr; q->rptr=M; M->lptr=q; break;} } free(p); } else cout<<”Khong ton tai nút thu ”<<k; } } 1,0 Trang: 2/5 2 a. Tính (AB) + - Gọi X={A, B} - Do AB C nên + F X ={A, B, C} - Do B D nên + F X ={A, B, C, D} - Do CD E nên + F X ={A, B, C, D, E} - Do CE GH nên + F X ={A, B, C, D, E, G, H} 1,0 b. Tính (BG) + - Gọi X={B, G} - Do G A nên + F X ={A, B, G} - Do AB C nên + F X ={A, B, C, G} - Do B D nên + F X ={A, B, C, D, G} - Do CD E nên + F X ={A, B, C, D, E, G} - Do CE GH nên + F X ={A, B, C, D, E, G, H} 1,0 ' #include"conio.h" #include"iostream.h" #include"string.h" #include"stdio.h" class diem { private: char *mahs; char *hoten; float t,l,h; public: diem() { mahs=new char[10];hoten=new char[40]; t=0;l=0;h=0; } ~diem() { delete mahs; delete hoten; } void nhap() { cout<<"\nMa hoc sinh:";gets(mahs); cout<<"\nHo va ten:"; gets(hoten); fflush(stdin); cout<<"diem toan:";cin>>t; cout<<"diem ly:";cin>>l; cout<<"diem hoa:";cin>>h; } 0,25 0,25 Trang: 3/5 float tongdiem() { return t+l+h; } void hienthi() { cout<<"\n"<<mahs<<" "<<hoten<<" "<<t<<" "<<l<<" "<<h<<" "<<tongdiem(); } }; 0,1 0,15 class BD { private: diem ds[50]; int n; public: void nhapBD(); void hienthiBD(); void tongdiem_Max(); }; 0,25 void BD::nhapBD() { cout<<"\nNhap so hoc sinh (<50)";cin>>n; for(int i=0;i<n;i++) { cout<<"\nNhap thong tin cua hoc sinh thu "<<i<<":\n"; ds[i].nhap(); } } void BD::hienthiBD() { cout<<"\nMahs Ho va ten Toan Ly Hoa Tongdiem"; for(int i=0;i<n;i++) ds[i].hienthi(); } 0,25 0,15 Trang: 4/5 void BD::tongdiem_Max() { float tg=0.0; int max,i; for(i=0;i<n;i++) if (ds[i].tongdiem()>tg) {tg=ds[i].tongdiem(); max=i;} cout<<"\nDanh sach thi sinh thu khoa"; cout<<"\nMahs Ho va ten Toan Ly Hoa Tongdiem"; for(i=max;i<n;i++) if (ds[i].tongdiem()==tg) ds[i].hienthi(); } 0,5 void main() { BD ds; ds.nhapBD(); ds.hienthiBD(); ds.tongdiem_Max(); getch(); } 0,1 E(. H!ILM 1 2 … E(. NEE(O. ………, ngày ………. thng ……. năm ……… Trang: 5/5 . hienthi() { cout < < " " < < mahs < < " " < < hoten < < " " < < t < < " " < < l < < ". {L=L->rptr; L- >lptr=NULL;break;} case R==p: {R=R->lptr; R- >rptr=NULL;break;} default: {q=p->lptr; M=p->rptr; q->rptr=M; M->lptr=q; break;} } free(p);

Ngày đăng: 19/03/2014, 02:44

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan