Advertisement
Guest User

Bài 2

a guest
Jul 21st, 2017
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.35 KB | None | 0 0
  1. //Nhận xét
  2. hàm DocFile và GhiFile để làm cảnh hả em ?
  3. khi và chỉ khi mở file thì mới cần fclose, nghĩ sao trong hàm Xuatmang tự ý fclose vậy ?
  4. ở cái menu trong hàm main ấy, khi em mở file xong rồi thì nhớ đóng file lại nhé
  5. //Code
  6. #include<stdio.h>
  7. #include<conio.h>
  8. #include<math.h>
  9. int Sapxeptangdan(int a, int b)
  10. {
  11. return a>b;
  12. }
  13. int Sapxepgiamdan(int a, int b)
  14. {
  15. return a<b;
  16. }
  17. int SapxeptangdanDaiso(int a, int b)
  18. {
  19. return abs(a)>abs(b);
  20. }
  21. int SapxepgiamdanDaiso(int a, int b)
  22. {
  23. return abs(a)<abs(b);
  24. }
  25. int Sapxepsochan(int a, int b)
  26. {
  27. if(abs(a)%2==1||abs(b)%2==1)
  28. return 0;
  29. return a>b;
  30. }
  31. int Sapxep(int a[], int n, int (*Sosanh)(int,int))
  32. {
  33. int i,j,t;
  34. for(i=0;i<n;i++)
  35. {
  36. for(j=i+1;j<n;j++)
  37. {
  38. if(Sosanh(a[i],a[j]))
  39. {
  40. t=a[i];
  41. a[i]=a[j];
  42. a[j]=t;
  43. }
  44. }
  45. }
  46.  
  47. }
  48. void Menu()
  49. {
  50. printf("Ban co cac lua chon sau.\n");
  51. printf("0.Thoat chuong trinh\n");
  52. printf("1.Nhap mang tu ban phim\n");
  53. printf("2.Nhap mang tu input.txt\n");
  54. printf("3.Xuat mang\n");
  55. printf("4.Xuat mang tu output.txt\n");
  56. printf("5.Sap xep tang dan\n");
  57. printf("6.Sap xep giam dan\n");
  58. printf("7.Sap xep tang dan theo gia tri dai so\n");
  59. printf("8.Sap xep giam dan theo gia tri dai so\n");
  60. printf("9.Sap xep so chan tang dan\n");
  61.  
  62. }
  63.  
  64. void Chon(int *pn)
  65. {
  66. printf("\nBan chon: ");
  67. scanf("%d",pn);
  68. }
  69.  
  70. int Nhapmang(int a[],int *pn, FILE * fp)
  71. {
  72. int i;
  73. fscanf(fp,"%d",pn);
  74. for(i=0;i<*pn;i++)
  75. {
  76. fscanf(fp,"%d",&a[i]);
  77. }
  78. }
  79. void Xuatmang(int *a, int n, FILE * fp)
  80. {
  81. int i;
  82. for(i=0;i<n;i++)
  83. {
  84. fprintf(fp,"%d ",a[i]);
  85. }
  86. }
  87. int main()
  88. {
  89. int a[50];
  90. int n=0,chon;
  91. FILE *fp;
  92.  
  93. Menu();
  94.  
  95. while (1)
  96. {
  97. Chon(&chon);
  98. switch(chon)
  99. {
  100. case 0: return 0;
  101. break;
  102. case 1: Nhapmang(a,&n,stdin);
  103. break;
  104. case 2: fp=fopen("Input.txt","rt");
  105. Nhapmang(a,&n,fp);
  106. fclose(fp);
  107. break;
  108. case 3: Xuatmang(a,n,stdout);
  109. break;
  110. case 4: fp=fopen("Output.txt","wt");
  111. Xuatmang(a,n,fp);
  112. fclose(fp);
  113. break;
  114. case 5: Sapxep(a,n,Sapxeptangdan);
  115. break;
  116. case 6: Sapxep(a,n,Sapxepgiamdan);
  117. break;
  118. case 7: Sapxep(a,n,SapxeptangdanDaiso);
  119. break;
  120. case 8: Sapxep(a,n,SapxepgiamdanDaiso);
  121. break;
  122. case 9: Sapxep(a,n,Sapxepsochan);
  123. break;
  124. }
  125. }
  126. return 0;
  127. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement