Advertisement
Guest User

Untitled

a guest
Mar 23rd, 2017
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.50 KB | None | 0 0
  1. //Bài 7: chia mã nguồn chưa tốt, pragma once để ở vị trí chưa đúng, làm lại
  2.  
  3. //file Bailam.h
  4. #pragma once
  5. #include <stdio.h>
  6. #include <stdlib.h>
  7.  
  8. void NhapMang(int **pa, int *pn);
  9.  
  10. void Xuatmang(int *a, int n);
  11.  
  12. int DemsolemangA(int *a, int n);
  13.  
  14. void MangB(int *a, int n, int **pb);
  15.  
  16. //file Bailam.cpp
  17. #include "Bailam.h"
  18.  
  19. void NhapMang(int **pa, int *pn)
  20. {
  21.  
  22.     printf("Nhap so phan tu cua mang : ");
  23.     scanf("%d", pn);
  24.  
  25.     *pa = (int *)malloc((*pn) * sizeof(int));
  26.  
  27.     int *p = NULL;
  28.  
  29.     for (p = *pa; p < *pa + *pn; p++)
  30.     {
  31.         printf("Nhap a[%d] : ", p - (*pa));
  32.         scanf("%d", p);
  33.     }
  34. }
  35.  
  36. void Xuatmang(int *a, int n)
  37. {
  38.     int *p = NULL;
  39.  
  40.     for (p = a; p < a + n; p++)
  41.     {
  42.         printf("%5d", *p);
  43.     }
  44. }
  45.  
  46. int DemsolemangA(int * a, int n)
  47. {
  48.     int *p = NULL;
  49.     int dem = 0;
  50.  
  51.     for (p = a; p < a + n; p++)
  52.     {
  53.         if ((*p) % 2 != 0)
  54.             dem++;
  55.     }
  56.     return dem;
  57. }
  58.  
  59. void MangB(int *a, int n, int **pb)
  60. {
  61.     int x = DemsolemangA(a, n);
  62.  
  63.     *pb = (int *)malloc(x * sizeof(int));
  64.  
  65.     int dem = 0;
  66.  
  67.     int *p = NULL;
  68.  
  69.     for (p = a; p < a + n; p++)
  70.     {
  71.         if ((*p) % 2 != 0)
  72.         {
  73.             (*pb)[dem] = *p;
  74.             dem++;
  75.         }
  76.     }
  77.  
  78. }
  79.  
  80. //file Bai7.cpp
  81.  
  82. #include <conio.h>
  83. #include "Bailam.h"
  84.  
  85. int main()
  86. {
  87.     int *a = NULL;
  88.     int n;
  89.     int *b = NULL;
  90.  
  91.     NhapMang(&a, &n);
  92.  
  93.     printf("Mang vua nhap la : \n");
  94.     Xuatmang(a, n);
  95.  
  96.     MangB(a, n, &b);
  97.  
  98.     printf("\nMang b la : \n");
  99.     Xuatmang(b, DemsolemangA(a, n));
  100.  
  101.     free(a);
  102.     a = NULL;
  103.     free(b);
  104.     b = NULL;
  105.  
  106.     _getch();
  107.     return 0;
  108. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement