Chủ đề: hiển thị từng bước
-
14-03-2010, 08:08 AM #1Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Mã:#include <stdio.h>#include <conio.h>void display_array(int *a, int n, int step){ int i; printf(" step %d: ", step); for(i = 0; i < n; i++) printf("%6.0d", a[i]); }void insertion_sort(int* a, int n){ int step = 1; display_array(a, n, step++); int insert = 0; int i, j; for(i = 0; i < n - 1; i++) { int insert = i; for(j = i + 1; j < n; j++) { if(a[j] < a[insert]) { insert = j; } } if(insert > i) { int temp = a[i]; a[i] = a[insert]; a[insert] = temp; } display_array(a, n, step++); }}int main(){ int a[8] = {8, 7, 6, 5, 4, 3, 2, 1}; insertion_sort(a, 8); while(1) { if(kbhit()) { if(getch() == 27) // Press ESC to exit program return 0; } } return 0;}
View more random threads:
- Hệ mã hoá Merkle-Hellman
- Chuyển đổi code C++ sang code C
- Cho ma trận vuông cap n. cho biết đường chéo nào có tổng lớn nhất?
- Đếm số lượng các đường chạy!
- Lập trình C
- THư viện student, giúp mình hiểu một vài câu lệnh với?
- Help help me, viết chương trình thể hiện 1 ô tô chuyển động ngang màn hình
- Minh không hiểu sai ở đâu ????
- Lập trình C cho vi xử lý
- lập trình c++
-
14-03-2010, 08:22 AM #2Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi namdq2k
-
14-03-2010, 08:26 AM #3Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi truonghau
Bạn có thể gọi hàm insertion_sort với tham số truyền vào là một mảng tùy ý (dãy kiểu int, nếu dãy kiểu khác thì bạn thay định nghĩa hàm bẳng kiểu mong muốn)nào đó, với độ dài của mảng.
Có nhất thiết phải truyền mỗi mảng a vào đâu.
-
14-03-2010, 08:40 AM #4Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi namdq2k
-
14-03-2010, 08:55 AM #5Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Mã:#include <stdio.h>#include <conio.h> void display_array(int *a, int n, int step){ int i; printf(" step %d: ", step); for(i = 0; i < n; i++) printf("%6.0d", a[i]); }void insertion_sort(int* a, int n){ int step = 1; display_array(a, n, step++); int insert = 0; int i, j; for(i = 0; i < n - 1; i++) { int insert = i; for(j = i + 1; j < n; j++) { if(a[j] < a[insert]) { insert = j; } } if(insert > i) { int temp = a[i]; a[i] = a[insert]; a[insert] = temp; } display_array(a, n, step++); }}int main(){ int a[8] = {8, 7, 6, 5, 4, 3, 2, 1}; int b[9]; int i; printf("Sort the array A: "); insertion_sort(a, 8); printf(" B array: "); for(i = 0; i < 9; i++) { printf("b[%d] = ", i); scanf("%d", &b[i]); } printf("Sort the array B: "); insertion_sort(b, 9); while(1) { if(kbhit()) { if(getch() == 27) // Press ESC to exit program break; } } return 0;}
__________________________________________________ ________
Bạn namdq2k lần sau thêm highlight cho code được rõ ràng nhé.
-
14-03-2010, 09:02 AM #6Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi namdq2k
hay insertion_sort(a,fmp)?
-
14-03-2010, 09:11 AM #7Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi truonghau
a[] là một kiểu array.
file là nơi lưu trữ dữ liệu.
Bạn phải biết file đó nó lưu trữ dữ liệu ra làm sao? Tùy vào từng dạng lưu trữ dữ liệu như thế nào thì bạn đọc file đó ra và lưu trữ dữ liệu vào đâu đó để xử lý.
Nếu file đó là một mảng các phần tử số int thì nó phải có độ dài của mảng, giá trị của từng phần tử của mảng.
Bạn đọc file đó ra, tạo một mảng có độ dài trong file đã ghi và nhập vào từng phần tử của mảng.
-
14-03-2010, 09:28 AM #8Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi namdq2kMã:#include <stdio.h> #include <conio.h> void display_array(int *a, int n, int step) { int i; printf(" step %d: ", step); for(i = 0; i < n; i++) printf("%6.0d", a[i]); } void insertion_sort(int* a, int n) { int step = 1; display_array(a, n, step++); int insert = 0; int i, j; for(i = 0; i < n - 1; i++) { int insert = i; for(j = i + 1; j < n; j++) { if(a[j] < a[insert]) { insert = j; } } if(insert > i) { int temp = a[i]; a[i] = a[insert]; a[insert] = temp; } display_array(a, n, step++); } } int main() { FILE *fp, *fpam; int tmp, i,n; fp = fopen("daysosi.dat", "r"); fpam = fopen("xong.dat, "w");//lưu file khi đã sắp sếp for(i = 0; i < n-1; i++) { fscanf(fp,"%d",&tmp); if(tmp < 0) fprintf(fpam,"%3d",tmp); } insertion_sort(a, tmp); while(1) { if(kbhit()) { if(getch() == 27) // Press ESC to exit program return 0; } } fclose(fp); fclose(fpam); getche(); return 0; }
-
14-03-2010, 09:37 AM #9Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi truonghau
Bấm esc là nó thoát rùi [IMG]images/smilies/smile.png[/IMG]
-
14-03-2010, 10:02 AM #10Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi namdq2k
Vệ sinh cá nhân là một phần quan yếu của sức khỏe nam giới. Dùng dung dịch vệ sinh mỗi ngày mang lại nhiều ích, giúp loại bỏ vi khuẩn và vi sinh vật gây hại, giúp khu vực cơ quan sinh dục luôn sạch...
Gel vệ sinh cu, bạn trai có nên...