Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //đối với bạn chưa học c++ thì bạn chưa thể dùng tham chiếu,
- //vậy nên bạn học thêm về con trỏ. cho phep bạn gộp 2 hàm tìm và đếm kia thành 1
- //chi tiết nếu cần thì bạn inbox tôi
- #include<stdio.h>
- #include<conio.h>
- //hàm này đúng
- void NhapMang(int a[][10], int m, int n)
- {
- int i, j;
- for (i = 0; i<m; ++i)
- {
- for (j = 0; j<n; ++j)
- {
- printf("\nNhap vao phan tu a[%d][%d]", i, j); scanf("%d", &a[i][j]);
- }
- }
- }
- //hàm này đúng
- void XuatMang(int a[][10], int m, int n)
- {
- int i, j;
- for (i = 0; i<m; ++i)
- {
- for (j = 0; j<n; ++j)
- {
- printf("%4d", a[i][j]);
- }
- printf("\n");
- }
- }
- //hàm này nếu bạn xác định có phần tử x trong mảng không thì đúng.
- //nhưng mà vân đề bạn lại thêm 1 hàm DemPhantu, ở đây nên gộp 2 hàm lại
- char TimPhanTu(int a[][10], int m, int n, int x)
- {
- int i, j;
- for (i = 0; i < m; ++i)
- {
- for (j = 0; j<n; ++j)
- {
- //với hàm kiểm tra tồn tại giá trị x không thì đặt return ở đây là hợp lý
- if (a[i][j] == x) return 1;
- }
- }
- return 0;
- }
- int DemPhanTu(int a[][10], int m, int n, int x)
- {
- int dem = 0, i, j;
- for (i = 0; i<m; ++i)
- {
- for (j = 0; j<n; ++j)
- {
- if (a[i][j] == x)
- {
- dem += 1;
- //nếu bạn đặt return ngay đây thì khi điều kiện trên xảy ra
- //nó sẽ thoát ngang hàm này luôn mà không duyệt hết các phần tử.
- //return dem;
- }
- }
- }
- //Bạn nên đặt return tại đây vì khi này nó đã duyệt hết các phần tử
- return dem;
- }
- void main()
- {
- int a[10][10];
- int m, n, k, x;
- printf("\nNhap vao so dong m:"); scanf("%d", &m);
- printf("\nNhap vao so cot n:"); scanf("%d", &n);
- NhapMang(a, m, n);
- printf("\nMa tran vua nhap la:\n");
- XuatMang(a, m, n);
- printf("\nNhap x:"); scanf("%d.\n", &x);
- printf("\nPhan tu tim duoc la: %d", TimPhanTu(a, m, n, x));
- printf("\nCo %d phan tu %d xuat hien trong mang", DemPhanTu(a, m, n, x), x);
- getch();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement