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

 
Hướng dẫn sử dụng Mailchip và Drupal

Hướng dẫn sử dụng Mailchip và Drupal

Email là một trong những công cụ được đánh giá là hiệu quả và ít tốn kém nhất trong chiến dịch marketing online. Tuy nhiên để có một e-mail hấp dẫn, một chiến lược e-mail marketing hiệu quả thì không thể thiếu các công cụ hỗ trợ.

Sử dụng Git workflow quản lý Drupal 8 configuration

Sử dụng Git workflow quản lý Drupal 8 configuration

We will assume that you have a development version of Drupal 8, git and drush available on your system

Tuyệt chiêu vào Facebook bằng Gmail

Tuyệt chiêu vào Facebook bằng Gmail

Có lẽ các chiêu thức đổi DNS hay chỉnh sửa file host đã quá nổi tiếng trên mạng nên hôm nay, chúng tôi xin giới thiệu một độc chiêu vào Facebook hoàn toàn..

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

 

Diet con trung