ZhuJinFeng

BT Đệ Quy 1

Apr 19th, 2018
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.96 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. void NhapMang(int Mang[], int length);
  4. void XuatMang(int Mang[], int length);
  5. int TinhTong(int Mang[], int length);
  6. int TinhTongChan(int Mang[], int length);
  7. int DemPhanTuDuong(int Mang[], int length);
  8. int PhanTuNhoNhat(int Mang[], int length);
  9. int PhanTuLonNhat(int Mang[], int length);
  10. int PhanTuChanCuoiCung(int Mang[], int length);
  11. int TimViTriCoXCuoiCungTrongMang(int Mang[], int length, int X);
  12.  
  13. int main()
  14. {
  15.     int length = 5;
  16.     int Mang[length];
  17.  
  18.     NhapMang(Mang, length);
  19.  
  20.     XuatMang(Mang, length);
  21.  
  22.     printf("\nTong cua mang la: %d\n", TinhTong(Mang, length));
  23.  
  24.     printf("\nTong chan cua mang la: %d\n", TinhTongChan(Mang, length));
  25.  
  26.     printf("\nSo phan tu duong trong mang la: %d\n", DemPhanTuDuong(Mang, length));
  27.  
  28.     printf("\nPhan tu nho nhat trong mang la: %d\n", PhanTuNhoNhat(Mang, length));
  29.  
  30.     printf("\nPhan tu lon nhat trong mang la: %d\n", PhanTuLonNhat(Mang, length));
  31.  
  32.     printf("\nPhan tu chan cuoi cung trong mang la: %d\n", PhanTuChanCuoiCung(Mang, length));
  33.  
  34.     printf("\nVi tri chua so 5 cuoi cung trong mang la: %d\n", TimViTriCoXCuoiCungTrongMang(Mang, length, 5));
  35.  
  36.     return 0;
  37. }
  38.  
  39. void NhapMang(int Mang[], int length)
  40. {
  41.     if (length > 0) {
  42.         NhapMang(Mang, length - 1);
  43.         printf("Nhap phan tu [%d] = ", length - 1);
  44.         scanf("%d", &Mang[length - 1]);
  45.     }
  46. }
  47.  
  48. void XuatMang(int Mang[], int length)
  49. {
  50.     if (length > 0) {
  51.         XuatMang(Mang, length - 1);
  52.         printf("Phan tu [%d] = %d\n", length - 1, Mang[length - 1]);
  53.     }
  54. }
  55.  
  56. int TinhTong(int Mang[], int length)
  57. {
  58.     if (length <= 0) return 0;
  59.     return Mang[length - 1] + TinhTong(Mang, length - 1);
  60. }
  61.  
  62. int TinhTongChan(int Mang[], int length)
  63. {
  64.     if (length <= 0) return 0;
  65.  
  66.     if (Mang[length - 1] % 2 == 0) {
  67.         return Mang[length - 1] + TinhTongChan(Mang, length - 1);
  68.     }
  69.  
  70.     return TinhTongChan(Mang, length - 1);
  71. }
  72.  
  73. int DemPhanTuDuong(int Mang[], int length)
  74. {
  75.     if (length <= 0) return 0;
  76.     if (Mang[length - 1] >= 0)
  77.     {
  78.         return DemPhanTuDuong(Mang, length - 1) + 1;
  79.     }
  80.     return DemPhanTuDuong(Mang, length - 1);
  81. }
  82.  
  83. int PhanTuNhoNhat(int Mang[], int length)
  84. {
  85.     if (length <= 0) return Mang[0];
  86.     if (Mang[length - 1] < PhanTuNhoNhat(Mang, length - 1))
  87.     {
  88.         return Mang[length - 1];
  89.     }
  90.     return PhanTuNhoNhat(Mang, length - 1);
  91. }
  92.  
  93. int PhanTuLonNhat(int Mang[], int length)
  94. {
  95.     if (length <= 0) return Mang[0];
  96.     if (Mang[length - 1] > PhanTuLonNhat(Mang, length - 1))
  97.     {
  98.         return Mang[length - 1];
  99.     }
  100.     return PhanTuLonNhat(Mang, length - 1);
  101. }
  102.  
  103. int PhanTuChanCuoiCung(int Mang[], int length)
  104. {
  105.     if (Mang[length - 1] % 2 == 0) return Mang[length - 1];
  106.     return PhanTuChanCuoiCung(Mang, length - 1);
  107. }
  108.  
  109. int TimViTriCoXCuoiCungTrongMang(int Mang[], int length, int X)
  110. {
  111.     if (Mang[length - 1] == X) return length - 1;
  112.  
  113.     return TimViTriCoXCuoiCungTrongMang(Mang, length - 1, X);
  114. }
Advertisement
Add Comment
Please, Sign In to add comment