|
|
| Bài Tập Thực Hành Toán-Tin!! | |
| | Tác giả | Thông điệp |
---|
Willclinton Mod
Tổng số bài gửi : 407 Age : 35 Đến từ : Bún Giò Heo+Heo Way Registration date : 05/04/2008
| Tiêu đề: Bài Tập Thực Hành Toán-Tin!! Mon 05 May 2008, 9:37 pm | |
| BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG CĐ KINH TẾ CÔNG NGHỆ TP.HCM KHOA CNTT BÀI TẬP THỰC HÀNH TRÊN MÁY MÔN : TOÁN – TIN HỌC I / Yêu cầu chung : Viết chương trình, cài đặt và cho thực thi một số thuật toán trong danh sách bài tập. Ngôn ngữ cài đặt C ++ Trình biên dịch Borland C++ for Win (for DOS). II / Danh sách bài tập: PHẦN I : TOÁN Bài tập Tuần 01( 3 tiết) : 1. Viết chương trình in ra dòng chữ ‘Hello World’. 2. Viết chương trình nhập vào 2 số nguyên a, b. Tính tổng của chúng. 3. Viết chương trình nhập vào 2 số nguyên a, b. Tính tích của chúng. 4. Viết chương trình nhập vào 2 số nguyên a, b. Tính hiệu của chúng. 5. Viết chương trình nhập vào 2 số nguyên a, b. Tính thương của chúng. 6. Viết chương trình nhập vào chiều dài và chiều rộng của hình chữ nhật. Tính diện tích và xuất kết quả ra màn hình. Hướng dẫn bài tập 6. • Bằng ngôn ngữ tự nhiên: Ví dụ: Hãy tính diện tích hình chữ nhật 1. Bước 1: Nhập vào chiều dài, chiều rộng của hình chữ nhật cần tính. 2. Bước 2: Tính diện tích = chiều dài * chiều rộng vừa nhập. 3. Bước 3: Báo kết quả diện tích hình chữ nhật vừa tính. • Bằng lưu đồ: Bài tập Tuần 02 ( 3 tiết ): 1. Tính diện tích hình tam giác. 2. Tính diện tích hình tròn. 3. Nhập vào một ký tự thường. Đổi thành ký tự hoa. 4. Nhập vào một ký tự hoa. Đổi thành ký tự thường. 5. Nhập vào hai số nguyên a, b. Đổi chỗ (hoán vị) 2 giá trị a, b. Xuất kết quả ra màn hình. Ví dụ: nhập a=4, b=9. Sau khi hoán vị: a=9, b=4. Bài tập Tuần 03 ( 3 tiết) : 1. Viết chương trình nhập vào bốn số nguyên. Bạn hãy tính tổng các số âm trong các số trên. 2. Viết chương trình nhập vào một số nguyên. Kiểm tra xem bạn nhập vào số nguyên dương hay âm (xuất thông báo ra màn hình). 3. Nhập vào một ký tự. Hãy cho biết ký tự của bạn vừa nhập thuộc loại nào? (ký tự thường: ‘a’, ‘b’,.., ‘z’ – ký tự hoa: ‘A’, ‘B’,.., ‘Z’ – ký tự số: ‘0’, ‘1’, .., ‘9’, ký tự khác: còn lại). 4. Nhập vào hai số nguyên. In ra số lớn nhất trong hai số bạn vừa nhập. 5. Nhập vào ba số nguyên. In ra số lớn nhất trong ba số bạn vừa nhập. 6. Nhập vào bốn số nguyên. In ra số lớn nhất trong bốn số bạn vừa nhập. 7. Giải và biện luận phương trình bậc nhất ax+b=0. Bài tập Tuần 04 ( 3 tiết) : 1. Giải và biện luận phương trình bậc hai ax2+bx+c=0. 2. Giải và biện luận hệ phương trình tuyến tính: 3. Viết chương trình giải hệ phương trình tuyến tính với nhiều biến. PHẦN II : TIN HỌC Bài tập Tuần 05 ( 3 tiết) : 1. Làm quen với ma trận kề. 2. Biểu diễn đồ thị thành ma trận kề (ma trận trọng số) và ngược lại. 3. Viết hàm để nhập ma trận kề của đồ thị vô hướng và lưu trữ trên FILE. 4. Viết hàm đọc ma trận kề từ FILE và xuất ra màn hình. Bài tập Tuần 06 ( 3 tiết) : Cài đặt thuật toán Depth First Search ( DFS : duyệt theo chiều sâu ) để xác định đồ thị có liên thông hay không ( Dữ liệu nhập : ma trận kề). Bài tập Tuần 07 ( 3 tiết) : Cài đặt chương trình kiểm tra nếu đồ thị không liên thông thì có bao nhiêu thành phần liên thông ( Dữ liệu nhập : ma trận kề). Bài tập Tuần 08 ( 3 tiết) : Cài đặt thuật toán Dijkstra-Moore ( DM) để tìm đường đi ngắn nhất từ đỉnh gốc “s” đến các đỉnh còn lại ( Dữ liệu nhập : ma trận trọng số). Tuần 09 ( 3 tiết) : Kiểm tra. Bài tập Tuần 10 ( 3 tiết) : Cài đặt thuật toán Floy để tìm đường đi ngắn nhất giữa 2 đỉnh bất kỳ ( Dữ liệu nhập : ma trận trọng số). III / Ghi chú : Số tiết Thực hành là 30 tiết. Thi thực hành trên máy được chia làm 2 lần : Lần 1 (30%) : Sinh viên sẽ được kiểm tra vào tuần 9. Lần 2 (70%) : Sinh viên sẽ được thi sau tuần 10. Tổng điểm 2 lần thi của SV không dưới 5 thì đậu Phần Thực hành. TP.HCM, ngày 24 tháng 03 năm 2008 GV HDTH MAI THANH TUẤN http://www.ziddu.com/download.php?uid=aayblpmma7Ghm5qttayZlJyiZ6%2BWlJmt7 | |
| | | Willclinton Mod
Tổng số bài gửi : 407 Age : 35 Đến từ : Bún Giò Heo+Heo Way Registration date : 05/04/2008
| Tiêu đề: Re: Bài Tập Thực Hành Toán-Tin!! Mon 05 May 2008, 9:41 pm | |
| Hệ Phương Trình 2: - Code:
-
#include <stdio.h> #include <conio.h> void main() { float a1,a2,b1,b2,c1,c2,D,Dx,Dy; printf("nhap so a1:");scanf("%f",&a1); printf("nhap so a2:");scanf("%f",&a2); printf("nhap so b1:");scanf("%f",&b1); printf("nhap so b2:");scanf("%f",&b2); printf("nhap so c1:");scanf("%f",&c1); printf("nhap so c2:");scanf("%f",&c2); D=a1*b2-a2*b1; Dx=-(b1*c2-b2*c1); Dy=a1*c2-c1*a2; if(D!=0) { printf("phuong trinh Dx: %f ",Dx/D); printf("phuong trinh Dy: %f ",Dy/D); } if(D==0) { if(Dx==0&&Dy==0) printf("he phuong trinh vo so nghiem:"); if(Dx!=0&&Dy!=0) printf("he phuong trinh vo nghiem:"); } getch(); }
Những cậu nào chưa hiểu chỗ nào có thể copy bài làm(những chỗ còn thắc mắc) và post câu hỏi bên topic hộp thư góp ý (thanks) | |
| | | Willclinton Mod
Tổng số bài gửi : 407 Age : 35 Đến từ : Bún Giò Heo+Heo Way Registration date : 05/04/2008
| Tiêu đề: Re: Bài Tập Thực Hành Toán-Tin!! Mon 05 May 2008, 9:45 pm | |
| Hệ Phương Trình 3: - Code:
-
#include <stdio.h> #include <conio.h> void main() { float a11,a21,a31,b12,b22,b32,c13,c23,c33,d14,d24,d34,D,Dx,Dy,Dz; printf("nhap so a11:");scanf("%f",&a11); printf("nhap so b12:");scanf("%f",&b12); printf("nhap so c13:");scanf("%f",&c13); printf("nhap so d14:");scanf("%f",&d14); printf("nhap so a21:");scanf("%f",&a21); printf("nhap so b22:");scanf("%f",&b22); printf("nhap so c23:");scanf("%f",&c23); printf("nhap so d24:");scanf("%f",&d24); printf("nhap so a31:");scanf("%f",&a31); printf("nhap so b32:");scanf("%f",&b32); printf("nhap so c33:");scanf("%f",&c33); printf("nhap so d34:");scanf("%f",&d34); D=a11*(b22*c33-b32*c23)-a21*(b12*c33-c13*b32)+a31*(b12*c23-b22*c13); Dx=-d14*(b22*c33-c23*b32)+d24*(b12*c33-c13*b32)-d34*(b12*c23-b22*c13); Dy=a11*(d24*c33-d34*c23)-a21*(d14*c33-d34*c13)+a31*(d14*c23-d24*c13); Dz=a11*(b22*d34-d24*b32)-a21*(b12*d34-b32*d14)+a31*(b12*d24-b22*d14); if(D!=0) { printf("phuong trinh Dx: %f ",Dx/D); printf("phuong trinh Dy: %f ",Dy/D); printf("phuong trinh Dy: %f ",Dz/D); } if(D==0) { if(Dx==0&&Dy==0&&Dz==0) printf("he phuong trinh vo so nghiem:"); if(Dx!=0&&Dy!=0&&Dz!=0) printf("he phuong trinh vo nghiem:"); } getch(); }
Những cậu nào chưa hiểu chỗ nào có thể copy bài làm(những chỗ còn thắc mắc) và post câu hỏi bên topic hộp thư góp ý (thanks)
| |
| | | cang_khon_dai_na_dy Thành viên cấp 2
Tổng số bài gửi : 102 Đến từ : cát bụi Registration date : 01/05/2008
| Tiêu đề: Re: Bài Tập Thực Hành Toán-Tin!! Mon 05 May 2008, 9:56 pm | |
| - Code:
-
#include<conio.h> #include<stdio.h> #include<math.h> void main() { clrscr(); char ch; int a,b,c,d,e,f,g,h,i,j,k,l; double x,y,z,w; do { printf("\n\t CT Giai He PT X va Y"); printf("\n\t moi Ban Nhap Gia Tri a,b,c,d:"); scanf("%d%d%d%d",&a,&b,&c,&d); printf("\n\t moi Ban Nhap Gia Tri e,f,g,h:"); scanf("%d%d%d%d",&e,&f,&g,&h); printf("\n\t moi Ban Nhap Gia Tri i,j,k,l:"); scanf("%d%d%d%d",&i,&j,&k,&l); dw=a*f*k+b*g*i+e*c*j-c*f*i-b*e*k-a*g*j; dx=b*g*l+c*h*j+f*k*d-d*g*j-f*c*l-b*h*k; dy=-a*g*l-c*h*i-e*k*d+d*g*i+e*c*l+a*h*k; dz=a*f*l+b*h*i+e*j*d-f*d*i-e*b*l-a*j*h; if (dw==0,dx==0,dy==0,dz==0) printf("\n\t He PT Vo So Nghiem"); else if((a*f*k+b*i*g+c*e*j-c*f*i-a*g*j-b*e*k)==0) printf("\n\t He PT Vo Nghiem"); else printf("\n\t PT Co Nghiem X=%f,Y=%f,Z=%f",dx/dw,dy/dw,dz/dw); printf("\n\t Ban Co Muon Tiep Tuc Hok (C/K)"); ch=getch(); } while ((ch=='c')||(ch=='C')); getch(); } - Code:
-
#include<conio.h> #include<stdio.h> #include<math.h> void main() { clrscr(); char ch; float a,b,c,d,e,f,g,h,i,j,k,l; double dx,dy,dz,dw; do { printf("\n\t CT Giai He PT X Y Z"); printf("\n\t moi Ban Nhap Gia Tri a,b,c,d:"); scanf("%f%f%f%f",&a,&b,&c,&d); printf("\n\t moi Ban Nhap Gia Tri e,f,g,h:"); scanf("%f%f%f%f",&e,&f,&g,&h); printf("\n\t moi Ban Nhap Gia Tri i,j,k,l:"); scanf("%f%f%f%f",&i,&j,&k,&l); dw=a*f*k+b*g*i+e*c*j-c*f*i-b*e*k-a*g*j; dx=b*g*l+c*h*j+f*k*d-d*g*j-f*c*l-b*h*k; dy=-a*g*l-c*h*i-e*k*d+d*g*i+e*c*l+a*h*k; dz=a*f*l+b*h*i+e*j*d-f*d*i-e*b*l-a*j*h; if (dw==0,dx==0,dy==0,dz==0) printf("\n\t He PT Vo So Nghiem"); else if((a*f*k+b*i*g+c*e*j-c*f*i-a*g*j-b*e*k)==0) printf("\n\t He PT Vo Nghiem"); else printf("\n\t PT Co Nghiem X=%f,Y=%f,Z=%f",dx/dw,dy/dw,dz/dw); printf("\n\t Ban Co Muon Tiep Tuc Hok (C/K)"); ch=getch(); } while ((ch=='c')||(ch=='C')); getch(); }
| |
| | | cang_khon_dai_na_dy Thành viên cấp 2
Tổng số bài gửi : 102 Đến từ : cát bụi Registration date : 01/05/2008
| Tiêu đề: Re: Bài Tập Thực Hành Toán-Tin!! Sun 11 May 2008, 11:32 pm | |
| Cài đặt thuật toán Depth First Search ( DFS : duyệt theo chiều sâu ) để xác định đồ thị có liên thông hay không ( Dữ liệu nhập : ma trận kề). - Code:
-
#include <dos.h> #include <graphics.h> #include <alloc.h> #include "mouse.inc"
#pragma warn -sus
/* Toi da 100 nut */ #define MAX 100
int gr_drive=DETECT, gr_mode; unsigned char lbutton, rbutton; int xmouse, ymouse;
int sonut = 0; typedef struct tagnode { int x, y; /* Vi tri tren man hinh */ } NODE;
NODE nut[MAX]; int weight[MAX][MAX]; int themduoc = 1;
void DFS();
void initialize() { char s1[] = "Nhap nut phai chuot de them nut"; char s2[] = "Nhap nut trai chuot va re de them duong noi"; char s3[] = "Nhan phim Q de thoat - S de bat dau minh hoa giai thuat"; int i, j;
initgraph(&gr_drive, &gr_mode, ""); reset_mouse(); setcolor(YELLOW); rectangle(0, 0, getmaxx(), getmaxy()); outtextxy((getmaxx()-textwidth(s1))/2, 5, s1); outtextxy((getmaxx()-textwidth(s2))/2, 15, s2); outtextxy((getmaxx()-textwidth(s3))/2, 25, s3); line(0, 35, getmaxx(), 35); set_mouse_hlimits(5, getmaxx()-6); set_mouse_vlimits(40, getmaxy()-6); for (i=0; i<MAX; i++) for (j=0; j<MAX; j++) weight[i][j] = -1; show_mouse(); }
int index(int x, int y, int heso) { int i, OK = 0; for (i=0; i<sonut; i++) if (abs(nut[i].x - x) < 4*heso && abs(nut[i].y - y) < 4*heso) { OK = 1; break; } if (OK) return i; else return -1; }
void get_mouse() { do { get_mouse_button(&lbutton, &rbutton, &xmouse, &ymouse); } while (lbutton == 0 && rbutton == 0 && !kbhit()); }
void clear_mouse() { do { get_mouse_button(&lbutton, &rbutton, &xmouse, &ymouse); } while (lbutton == 1 || rbutton == 1); }
int input_weight(int start, int end) { int size, i; void far *buf; char c, s[]="Nhap trong so", s1[3]=""; size = imagesize(getmaxx()/2 - 70, getmaxy()/2 - 20,getmaxx()/2 + 70, getmaxy()/2 + 10); buf = malloc(size); getimage(getmaxx()/2 - 70, getmaxy()/2 - 20,getmaxx()/2 + 70, getmaxy()/2 + 10, buf); setcolor(BLUE); setfillstyle(SOLID_FILL, BLUE); bar(getmaxx()/2 - 70, getmaxy()/2 - 20,getmaxx()/2 + 70, getmaxy()/2 + 10); setcolor(WHITE); rectangle(getmaxx()/2 - 70, getmaxy()/2 - 20,getmaxx()/2 + 70, getmaxy()/2 + 10); line(getmaxx()/2 - 70, getmaxy()/2 - 5,getmaxx()/2 + 70, getmaxy()/2 - 5); outtextxy((getmaxx()-textwidth(s))/2 - 4, getmaxy()/2 - 16, s); i = 0; do { do { c = getch(); } while ((c < '0' || c > '9') && c != 13 && c != 27 && c != 8); if (c>='0' && c <= '9' && i<2) { s1[i] = c; s1[i+1] = 0; i++; } if (c == 8 && i>0) { i--; s1[i] = 0; } setcolor(BLUE); setfillstyle(SOLID_FILL, BLUE); bar(getmaxx()/2 - 69, getmaxy()/2 - 3,getmaxx()/2 + 69, getmaxy()/2 + 9); setcolor(YELLOW); outtextxy((getmaxx()-textwidth(s))/2 - 4, getmaxy()/2 - 1, s1); } while(c != 13 && c != 27); putimage(getmaxx()/2 - 70, getmaxy()/2 - 20, buf, COPY_PUT); free(buf); if (c == 13) { i = atoi(s1); weight[start][end] = i; weight[end][start] = i; return i; } else return -1; }
void get_weight() { int x, y, oldx, oldy, i, OK = 0, start, end; char s[5]; setwritemode(XOR_PUT); setcolor(GREEN); for (i=0; i<sonut; i++) if (abs(nut[i].x - xmouse) < 4 && abs(nut[i].y - ymouse) < 4) { start = i; oldx = x = nut[i].x; oldy = y = nut[i].y; OK = 1; break; } if (!OK) return; hide_mouse(); line(x, y, oldx, oldy); clear_mouse(); show_mouse(); do { get_mouse_button(&lbutton, &rbutton, &xmouse, &ymouse); if (oldx != xmouse || oldy != ymouse) { hide_mouse(); line(x, y, oldx, oldy); oldx = xmouse; oldy = ymouse; line(x, y, oldx, oldy); show_mouse(); } } while (lbutton == 0); OK = 0; hide_mouse(); line(x, y, oldx, oldy); for (i=0; i<sonut; i++) if (abs(nut[i].x - xmouse) < 4 && abs(nut[i].y - ymouse) < 4) { end = i; OK = 1; break; } if (OK && end != start) { if ((i = input_weight(start, end)) != -1) { setcolor(GREEN); line(x, y, nut[end].x, nut[end].y); itoa(i, s, 10); setcolor(RED); outtextxy(x + (nut[end].x - x) / 2 + 4, y + (nut[end].y - y) / 2 + 4, s); } } setwritemode(COPY_PUT); show_mouse(); }
void main() { int done = 0; char c, s[4];
initialize(); do { get_mouse(); if (kbhit()) { c = toupper(getch()); switch(c) { case 'Q' : done = 1; break; case 'S' : DFS(); break; } } if (rbutton == 1 && index(xmouse, ymouse, 10) == -1) { hide_mouse(); if (themduoc) { setcolor(WHITE); circle(xmouse, ymouse, 4); itoa(sonut, s, 10); setcolor(CYAN); outtextxy(xmouse+6, ymouse-6, s); nut[sonut].x = xmouse; nut[sonut].y = ymouse; sonut++; if (sonut>=MAX) themduoc = 0; } clear_mouse(); show_mouse(); } if (lbutton == 1) { get_weight(); clear_mouse(); } } while (!done); closegraph(); }
void out(char *s) { setcolor(BLUE); setfillstyle(SOLID_FILL, BLUE); bar(1, 36, getmaxx()-1, 46); setcolor(YELLOW); outtextxy(4, 38, s); }
int top, stack[MAX]; int visited[MAX];
void push(int value) { stack[++top] = value; visited[value] = 1; }
void pop(int *value) { *value = stack[top--]; }
int get() { if (!isempty()) return stack[top]; else return -1; }
int isempty(void) { return (top == -1); }
int xpos = 1;
void visit(int nutxet) { int i, OK; char s[3];
push(nutxet); setcolor(YELLOW); itoa(nutxet, s, 10); outtextxy(xpos++*20, 38, s); circle(nut[nutxet].x, nut[nutxet].y, 4); delay(1000); visited[nutxet] = 1; for (i=0; i<sonut; i++) if (weight[nutxet][i] != -1 && visited[i] == 0) visit(i); pop(&nutxet); }
void DFS() { int start=-1, size, nutxet, i, OK; void far *buf; char *s = {"Dung nut trai de chon nut dau."};
size = imagesize(1, 36, getmaxx()-1, 46); buf = malloc(size); getimage(1, 36, getmaxx()-1, 46, buf); out(s); do { get_mouse(); start = index(xmouse, ymouse, 1); } while (rbutton == 0 && start == -1); if (lbutton == 1) { clear_mouse(); hide_mouse(); setcolor(RED); circle(nut[start].x, nut[start].y, 4); setcolor(BLUE); setfillstyle(SOLID_FILL, BLUE); bar(1, 36, getmaxx()-1, 46); /* Bat dau giai thuat */ top = -1; for (i=0; i<sonut; i++) visited[i] = 0; visit(start); /* Ket thuc giai thuat */ show_mouse(); getch(); } putimage(1, 36, buf, COPY_PUT); free(buf); clear_mouse(); hide_mouse(); setcolor(WHITE); if (start != -1) circle(nut[start].x, nut[start].y, 4); show_mouse(); } | |
| | | cang_khon_dai_na_dy Thành viên cấp 2
Tổng số bài gửi : 102 Đến từ : cát bụi Registration date : 01/05/2008
| Tiêu đề: Re: Bài Tập Thực Hành Toán-Tin!! Wed 21 May 2008, 11:26 pm | |
| xuất ma trận - Code:
-
#include<stdio.h> #include<conio.h> #define max 20 void xuatmatran(int a[][max],int n); int docmatran(int a[][max],int&n); //================================= void main() { clrscr(); int a[max][max],n; if(docmatran(a,n)==1) { printf("xuat ma tran" ); xuatmatran (a,n); } else printf("khong doc duoc"); getch(); } //================================== int docmatran(int a[][max],int &n) { FILE *f; f = fopen("E:\dothi.txt","rt"); if(f!= NULL) { fscanf(f,"%d",&n); for(int i=0 ;i<n;i++) for(int j=0 ;j<n;j++) fscanf(f,"%d",&a[i][j]); fclose(f); return 1; } fclose(f); return 0; } //======================================== void xuatmatran(int a[][max],int n) { for(int i=0 ;i<n;i++) { for(int j=0 ;j<n;j++) printf("%d",a[i][j]); printf("\n"); } getch(); }
| |
| | | Night_Rainbow Thành viên mới
Tổng số bài gửi : 1 Registration date : 18/05/2008
| Tiêu đề: Re: Bài Tập Thực Hành Toán-Tin!! Sun 25 May 2008, 12:36 am | |
| Nhìn qua nhìn lại, nhìn lên nhìn xuống. Chỉ biết ngậm ngùi mà thốt lên 2 từ => Sặc máu , bài zài quá | |
| | | Willclinton Mod
Tổng số bài gửi : 407 Age : 35 Đến từ : Bún Giò Heo+Heo Way Registration date : 05/04/2008
| | | | Sakura Thành viên cấp 2
Tổng số bài gửi : 98 Age : 35 Đến từ : tầng địa ngục 19 Registration date : 17/04/2008
| Tiêu đề: Re: Bài Tập Thực Hành Toán-Tin!! Mon 26 May 2008, 9:00 pm | |
| Edit by Willclinton DFS duyet theo chieu sau ma trận liên thông nè: - Code:
-
#include<stdio.h> #include<conio.h> #define max 20
int docdulieufile(int a[][max],int &n); void xuatmatran(int a[][max],int n); void visit(int a[][max],int n,int k); int DFS(int a[][max],int&n) ; int d[max];
void main() { clrscr (); int a[max][max]; int n; if(docdulieufile(a,n)==1) { printf("nhap ma tran tren: "); xuatmatran (a,n); if(DFS (a,n)==1) printf("do thi lien thong"); else printf("do thi khong lien thong"); } else { printf("khong doc duoc ma tran,ket thuc chu trinh"); getch(); } getch(); } int docdulieufile(int a[][max],int &n) { FILE *f; f=fopen("F:/mt.txt","rt"); if (f!=NULL) { fscanf(f,"%d",&n);
for (int i=0;i<n;i++) for (int j=0;j<n;j++) fscanf(f,"%d",&a[i][j]);
fclose(f); return 1; } fclose (f); return 0; } void xuatmatran(int a[][max],int n) { for(int i=0;i<n;i++) { for(int j=0;j<n;j++)
printf("%2d",a[i][j]); printf("\n"); } } int DFS (int a[][max],int &n) { int i ; for(i=0;i<n;i++) d[i]=0; visit(a,n,0); for(i=0;i<n;i++) if (d[i]==0) break; if (i==n) return 1; else return 0; } void visit(int a[][max],int n,int k) { int j; d[k]=1; for (int j=0;j<n;j++) if((a[k][j])==1 && (d[j]==0)) visit(a,n,j); }
| |
| | | Willclinton Mod
Tổng số bài gửi : 407 Age : 35 Đến từ : Bún Giò Heo+Heo Way Registration date : 05/04/2008
| Tiêu đề: Re: Bài Tập Thực Hành Toán-Tin!! Sun 15 Jun 2008, 9:53 pm | |
| Lien Thong Tha`nh Pha`n Trong Ma Tran Ke` - Code:
-
#include <stdio.h> #include <conio.h> #define max 20 int docmatran(int a[][max],int &n); void xuatmatran(int a[][max], int n); int DFS(int a[][max],int n); int d[max]; int label; void visit(int a[][max],int n,int k); void main() { int a[max][max]; int n; if(docmatran(a,n)==1) { printf("Xuat MT:\n"); xuatmatran(a,n); if(DFS(a,n)==1) { printf("ma tran lien thong");
} else {printf("ma tran khong lien thong"); printf("\n co %d thanh phan lien thong: ",label); } getch(); } else printf("ko doc dc"); getch(); } int docmatran(int a[][max],int &n) { FILE*f; f=fopen("E:\dothi1.txt","rt"); if(f!=NULL) { fscanf(f,"%d",&n); for(int i=0;i<n;i++) for(int j=0;j<n;j++) fscanf(f,"%d",&a[i][j]); fclose(f); return 1; } fclose(f); return 0; } void xuatmatran(int a[][max], int n) { for(int i=0;i<n;i++) { for(int j=0;j<n;j++) printf("%3d",a[i][j]); printf("\n"); } } int DFS(int a[][max],int n) { int i; label=1; for(i=0;i<n;i++) d[i]=0; visit(a,n,0); for(i=0;i<n;i++) if(d[i]==0) { label++; visit(a,n,i); }; if(label==n) return 1; else return 0; } void visit(int a[][max],int n,int k) { d[k]=1; for(int j=0;j<n;j++) if((a[k][j]==1)&&(d[j]==0)) visit(a,n,j); }
| |
| | | Willclinton Mod
Tổng số bài gửi : 407 Age : 35 Đến từ : Bún Giò Heo+Heo Way Registration date : 05/04/2008
| Tiêu đề: Re: Bài Tập Thực Hành Toán-Tin!! Sun 15 Jun 2008, 9:55 pm | |
| DM-Di~nh....... - Code:
-
#include <stdio.h> #include <conio.h> #include <stdlib.h> #define vocuc 9000 #define MAX 20 int docmatran(int a[][MAX],int &n); void xuatmatran(int a[][MAX],int n); void DM(int a[][MAX],int n); void main() { clrscr(); int a[MAX][MAX]; int n; if(docmatran(a,n)==1) { printf("xuat matran: \n"); xuatmatran(a,n); getch(); } else printf(" khong doc duoc : "); DM(a,n); getch(); } int docmatran(int a[][MAX],int &n) { FILE *f; f=fopen("F:/dothi.txt","rt"); if(f!=NULL) { fscanf(f,"%d",&n); for(int i=0;i<n;i++) for(int j=0;j<n;j++) fscanf(f,"%d",&a[i][j]); fclose(f); return 1; } fclose(f); return 0; } void xuatmatran(int a[][MAX],int n) { for(int i=0;i<n;i++) { for(int j=0;j<n;j++) printf("%6d",a[i][j]); printf("\n"); } } void DM(int a[][MAX],int n) { int Mark[MAX]; int l[MAX]; int pr[MAX]; int i; for(i=0;i<n;i++) Mark[i]=0; int S=0; Mark[S]=1; for(i=0;i<n;i++) { l[i]=a[S][i]; pr[i]=S; } int bl=n-1; while(bl>0) { int min=vocuc; int k; for(i=0;i<n;i++) if(Mark[i]==0) if(l[i]<min) { min=l[i]; k=i; } if(min==vocuc) printf("do thi khong lien thong "); Mark[k]=1; for(i=0;i<n;i++) if(Mark[i]==0) if(l[k]+a[k][i]<l[i]) { l[i]=l[k]+a[k][i]; pr[i]=k; } bl--; } printf("\n dinh goc S= %d",S+1); for(i=0;i<n;i++) { if(l[i]==vocuc) printf(" khong co duong di tu dinh goc S den dinh %d",i+1); printf("\nduong di tu dinh %d den hoc S=%d co chieu dai= %d",i+1,S+1,l[i]); int tam=i; printf("%d -> ",i+1); while(pr[tam]!=S) { printf("%d -> ",pr[tam]+1); tam=pr[tam]; } printf("%d\n",S+1); } }
| |
| | | Willclinton Mod
Tổng số bài gửi : 407 Age : 35 Đến từ : Bún Giò Heo+Heo Way Registration date : 05/04/2008
| Tiêu đề: Re: Bài Tập Thực Hành Toán-Tin!! Sun 15 Jun 2008, 9:59 pm | |
| Nhap Mot Ki' Tu Bat Ki` Va` Xua't Ra Dang Thuo`ng || Hoa || So'.... - Code:
-
#include <ctype.h> #include <conio.h> #include <stdio.h> void main() { char a; printf("nhap bat ki tu nao bat ki: "); scanf("%c",&a); if(97<=a&&a<=122) printf(" in ra chu thuong: "); else if(65<=a&&a<90) printf(" in ra chu hoa: "); else if(48<=a&&a<57) printf(" in ra dang so': "); else printf(" ki tu khac : "); printf("%c \n",a);
getch(); }
| |
| | | Willclinton Mod
Tổng số bài gửi : 407 Age : 35 Đến từ : Bún Giò Heo+Heo Way Registration date : 05/04/2008
| Tiêu đề: Re: Bài Tập Thực Hành Toán-Tin!! Sun 15 Jun 2008, 10:35 pm | |
| - Code:
-
/* Cong 4 so' nhap vao ( chi cong nhung so am )*/
#include<conio.h> #include<stdio.h> void main() { clrscr(); char ch; do{ int a,b,c,d,a1,a2,a3,a4; printf(" nhap so a: "); scanf("%d",&a); printf(" nhap so b: "); scanf("%d",&b); printf(" nhap so c: "); scanf("%d",&c); printf(" nhap so d: "); scanf("%d",&d); if(a<0) a1=a; else a1=0; if(b<0) a2=b; else a2=0; if(c<0) a3=c; else a3=0; if(d<0) a4=d; else a4=0; printf(" tong la : %d ",a1+a2+a3+a4);
printf("\n\t Ban Co Muon Tiep Tuc Hok (nhan C)\n"); ch=getch(); } while ((ch=='c')||(ch=='C'));
}
| |
| | | Sponsored content
| Tiêu đề: Re: Bài Tập Thực Hành Toán-Tin!! | |
| |
| | | | Bài Tập Thực Hành Toán-Tin!! | |
|
Trang 1 trong tổng số 1 trang | |
| Permissions in this forum: | Bạn không có quyền trả lời bài viết
| |
| |
| |
|