Pascal | Đếm số lần xuất hiện của giá trị X trong mảng A

Pascal | Đếm số lần xuất hiện của giá trị X trong mảng A

Đếm số lần xuất hiện của giá trị X trong mảng A. Đếm số lần xuất hiện của các phần tử trong mảng.

Ví dụ: A:        1   5   6   7   4   1   5   5   1   1
            X:        6

Kết quả:          So lan xuat hien X la 1

So lan xuat hien cua cac phan tu:

1   ==>   4                   5   ==>   3
6   ==>   1                   7   ==>   1
4   ==>   1                   1   ==>   4       …….

Hướng dẫn:

+ Viết hàm đếm số lần xuất hiện củat một giá trị X nào đó được nhập vào, và xem như X nhà là tham số cho việc đếm số lần xuất hiện của nó trong A

+ Viết hàm in ra số lần xuất hiên của tất cả các phần tử trong mảng, sử dụng lại hàm đã xây dựng ở trước.

+ Xây dựng chương trình  giải quyết bài toán trên gồm:

-          Khai báo mảng A, N phần tử.

-          Nhập / Xuất mảng A với N phần tử (lưu ý, phải có định nghĩa hàm nhập /xuất mảng).

Hai hàm này được sử dụng kết quả của bài toán 3.1

-          Nhập giá trị X cần đếm số là xuất hiện.

-          In số lần xuất hiện của X trong A. Ý tưởng:

o       Khởi tạo biến đếm ban đầu là 0.

o       Sử dụng vòng lặp i, lặp từ 1 đến N.

o       Đối với mỗi phần tử A[i], nếu A[i] = X thì tăng biến đếm lên 1

o       Kết thúc, giá trị biến đếm là số lần xuất hiện cử X trong A.

-          In số lần xuất hiện của các phần tử trong A.

Các hàm xây dựng:

{ 1. Dem so phan tu A[i] trong mang bang gia tri X    }
Function DemPtuX(Var A : Mang20; N, X : Integer) : Integer;
Var i , Count : Integer;
Begin
            Count := 0;
            For i:=0 to N do
                        If ( A[i] = X ) then
                                    Count := Count + 1;
            DemPtuX := Count;
End;
 
{ 2. Dem so lan xuat hien cua tat ca cac phan tu trong mang  }
Procedure InSoLanXHcuaPTu( A:Mang20; N: Integer);
Var i :Integer;
Begin
    For i:=0 to N do
        Writeln( A[i] ,'  ===>  ', DemPtuX( A, N, A[i] ) );
End;

Source code chương trình chính:

BEGIN
            Clrscr;
            NhapMang1C( A, N );
            XuatMang1C( A, N );
            Write( 'Gia tri X:' );     Readln( X );
            Writeln( 'So lan xuat hien  trong A la:', DemPtuX(A, N, X) );
            InSoLanXHcuaPTu ( A, N );
            Readln;
END .
 
Cải tiến: Không in ra các phần tử được lặp lại.

Hướng dẫn: Đối với mỗi phần tử, trước khi in, kiểm tra xem nó xuất hiện trước nó hay không.

-          Nếu A[i] chưa xuất hiện trước nó, thì in ra số lần xuất hiện của A[i]

-          Nếu A[i] có xuất hiện trước nó, thì không in ra số lần xuất hiện của A[i] nữa, vì đã in ra số lần xuất hiện của phần tử có giá trị bằng A[i] rồi.

Mở rộng: In ra phần tử xuất hiện ít nhất và nhiều nhất trong mảng.

Bạn thấy bài viết này như thế nào?: 
Average: 7.1 (77 votes)
Ảnh của Tommy Tran

Tommy owner Express Magazine

Drupal Developer having 9+ year experience, implementation and having strong knowledge of technical specifications, workflow development. Ability to perform effectively and efficiently in team and individually. Always enthusiastic and interseted to study new technologies

  • Skype ID: tthanhthuy

Advertisement

 

jobsora

Dich vu khu trung tphcm

Dich vu diet chuot tphcm

Dich vu diet con trung

Quảng Cáo Bài Viết

 
Xây dựng chiến lược phễu khách hàng từ sự hỗ trợ đa kênh

Xây dựng chiến lược phễu khách hàng từ sự hỗ trợ đa kênh

Viết blog là một trong những điều quan trọng nhất của tiếp thị nội dung. Đây là một chiến lược tập trung vào việc tạo ra nội dung thú vị hoặc có giá trị cho đối tượng được xác định của bạn với mục tiêu thu hút

Giới thiệu thủ thuật thuyết trình bằng Powerpoint 2015

Microsoft Powerpoint tích hợp trong bộ Office là một phần mềm thông dụng nhất hiện nay 

Timeline Facebook thử nghiệm bố trí mới của ảnh cover

Timeline Facebook thử nghiệm bố trí mới của ảnh cover

Có vẻ như sắp tới giao diện Timeline của Facebook lại có chút thay đổi.

Tomdesgin.vn

 

Drupal Services