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: 8.1 (137 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

 
Vào Facebook, upload ảnh dễ dàng với VPN miễn phí

Vào Facebook, upload ảnh dễ dàng với VPN miễn phí

Gần đây nhiều người thường than phiền không thể sử dụng đầy đủ các tính năng của mạng xã hội Facebook như đăng ảnh (upload) lên trang,

Open AI View cho AI Camera tại Diễn đàn Công nghệ VnExpress 2021

Open AI View cho AI Camera tại Diễn đàn Công nghệ VnExpress 2021

Theo ông Vũ Thanh Thắng, chúng ta đang xây dựng một thành phố thông minh và để các hệ thống thông minh hoạt động được, cần có số lượng camera lớn.

4 Cách bảo vệ tài khoản Facebook năm 2012

4 Cách bảo vệ tài khoản Facebook năm 2012

Facebook năm 2012, chưa rõ liệu sẽ có nhiều sóng gió bảo mật như năm vừa qua hay không, nhưng trước hết, bạn cần phải đề phòng.

Công ty diệt chuột T&C

 

Diet con trung