Bài tập thực hành: Đếm số lần xuất hiện của từng phần tử trong mảng - Lập trình C - Code Block


Bài tập thực hành:

Nhập vào một mảng.

Cho biết: Từng phần tử của mảng xuất hiện bao nhiêu lần trong mảng.

In ra danh sách gồm 2 cột: Giá trị phần tử và số lần xuất hiện

1. Tham khảo cách làm 1 tại đây: 

2. Tham khảo cách làm 2 tại đây:

Cách giải quyết
Khai báo 1 mảng để lưu trữ những phần tử nào đã in để về sau khi gặp lại sẽ bỏ qua
Với mỗi phần tử, bổ sung thêm các việc như sau:
Nếu phần tử đó chưa có trong danh sách đã in thì mới thực hiện các việc sau:
●   Đi đếm số lượng phần tử (như cách làm trước)
●   Sau khi in xong, sẽ thực hiện thêm 2 việc:
○   Đưa phần tử này vào danh sách đã in
○   Tăng số lượng phần tử đã in lên



...


9 comments:

  1. Cách làm của Ngọc:
    Lần lượt duyệt qua từng phần tử trong mảng đã cho, với mỗi phần tử đó sẽ thực hiện:
    + Khởi tạo 1 biến đếm cho bằng 0
    + Chạy từ đầu đến cuối mảng đã cho để kiểm tra:
    + Nếu gặp phần tử nào bằng thì biến đếm tăng lên 1.
    + In ra phần tử + số lần sau đó xuống dòng
    --> Có được không?

    ReplyDelete
    Replies
    1. int soluong = 0;
      for (int i = 0;i<n;i++)
      {
      soluong = 0;
      for (int j = 0; j<n; j++)
      {
      if (ds[i] == ds[j])
      {
      soluong = soluong+1;
      }
      }
      //In ra
      printf("Gia tri [%d] xuat hien [%d] lan\n",ds[i], soluong);
      }

      Delete
  2. mỗi giá trị lặp lại bị in ra nhiều lần

    ReplyDelete
    Replies
    1. Đúng.
      Cần có cách lưu lại những phần tử đã in để không phải in lại nữa

      Delete

Powered by Blogger.