Đếm các ký tự khác nhau trong chuỗi C++

[quảng cáo_1]

đếm các ký tự riêng biệt trong một chuỗi C

// function to return the number of unique
// characters in str[]
int count_unique_char(char* str) {

	int hash[128] = { 0 };
	int i, c = 0;

	// reading each character of str[]
	for (i = 0; i < strlen(str); ++i) {
		// set the position corresponding 
		// to the ASCII value of str[i] in hash[] to 1
		hash[str[i]] = 1;
	}

	// counting number of unique characters
	// repeated elements are only counted once
	for (i = 0; i < 128; ++i) {
		c += hash[i];
	}

	return c;

}

[quảng cáo_2]

Đếm các ký tự khác nhau trong chuỗi C++

Hãy chia sẻ

Sau đó, người dùng được yêu cầu nhập ký tự có tần số cần tìm. Điều này được lưu trữ trong biến ch

Sau đó, một vòng lặp for được sử dụng để lặp qua các ký tự của chuỗi. Trong mỗi lần lặp, nếu ký tự trong chuỗi bằng ch, thì số đếm được tăng thêm 1

Cuối cùng, tần số được lưu trong biến đếm được in ra

Ghi chú. Chương trình này phân biệt chữ hoa chữ thường. e. nó coi các phiên bản chữ hoa và chữ thường của cùng một bảng chữ cái là các ký tự khác nhau

Chương trình C để đếm số lần xuất hiện của một ký tự trong một chuỗi đã cho – Trong bài viết này, chúng ta sẽ thảo luận về các cách khác nhau để đếm số lần xuất hiện của một ký tự trong một chuỗi đã cho trong lập trình C

Các ví dụ phù hợp và các chương trình mẫu cũng đã được thêm vào để bạn có thể hiểu toàn bộ vấn đề một cách rõ ràng. Trình biên dịch cũng đã được thêm vào mà bạn có thể tự thực hiện nó

Các phương tiện được sử dụng trong phần này như sau

  • Sử dụng phương pháp tiêu chuẩn
  • Sử dụng chức năng
  • Sử dụng đệ quy

Một chuỗi không là gì ngoài một mảng các ký tự. Giá trị của một chuỗi được xác định bởi ký tự kết thúc. Giá trị của nó được coi là 0

Đếm các ký tự khác nhau trong chuỗi C++

Như bạn có thể thấy trong hình ảnh được tải lên ở trên, trước tiên, bạn cần nhập chuỗi liên quan

Chuỗi ở đây, trong trường hợp này, là “chào mừng bạn đến với người mới bắt đầu”

Sau đó, bạn phải gán một ký tự cụ thể để tìm kiếm trong chuỗi

Ký tự 'e' sẽ được tìm kiếm trong ví dụ đã nói

Do đó, ký tự 'e' xuất hiện khoảng 4 lần trong toàn bộ chuỗi

Do đó, các cách để làm điều tương tự trong lập trình C như sau

Sử dụng phương pháp tiêu chuẩn

  1. Đếm = 0, Đọc chuỗi đã nhập dưới dạng get(s)

2) Đọc ký tự c đã nhập dưới dạng getchar()

3) So sánh ký tự đã nhập với các phần tử của chuỗi bằng cách sử dụng vòng lặp for với cấu trúc for(i=0;s[i];i++)

Nếu ký tự khớp với s[i] thì hãy tăng giá trị đếm lên 1

4) Đối với mỗi lần xuất hiện của ký tự, giá trị đếm sẽ được tăng lên. Vì vậy, sau tất cả các lần lặp của vòng lặp for, chúng ta sẽ nhận được tổng số lần xuất hiện của ký tự trong chuỗi

Chương trình C đếm số lần xuất hiện của một ký tự trong chuỗi đã cho bằng phương pháp tiêu chuẩn

C

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

#include

#include

int chính()

{

    char s[1000],c;  

    int i,đếm=0;

    printf("Nhập chuỗi. ");

    được(s);

    printf("Nhập ký tự cần tìm. ");

    c=getchar();

    

    cho(i=0;s[i];i++)  

    {

     nếu(s[i]==c)

     {

          đếm++;

}

}

    

printf("ký tự '%c' xuất hiện %d lần \n ",c,count);

 

    

    return 0;

}

đầu ra

đầu ra

C

1

2

3

Nhập  chuỗi string. chào mừng đến với những người mới bắt đầu

Nhập ký tự để được tìm kiếm: e

ký tự 'e' xảy ra 4 lần

Sử dụng chức năng

  1. Đếm=0

Hàm kiểm tra (char *s, char c),

a) So sánh ký tự đã cho với tất cả các phần tử của chuỗi bằng cách sử dụng vòng lặp for(i=0;s[i];i++)

b) Nếu nó khớp với phần tử của chuỗi thì hãy tăng giá trị đếm

c) Hàm trả về giá trị đếm cho hàm main() sau đó hàm main() in giá trị đếm

Chương trình C đếm số lần xuất hiện của một ký tự trong chuỗi bằng hàm

C

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

#include

#include

 

int kiểm tra(char *s,char c)

{

    int i,đếm=0;

     cho(i=0;s[i];i++)  

    {

     nếu(s[i]==c)

     {

          đếm++;

}

}

trả về đếm;

    

    

  

}

int chính()

{

 

    char s[1000],c;

int đếm=0;  

  

    printf("Nhập chuỗi. ");

    được(s);

    printf("Nhập ký tự cần tìm. ");

    c=getchar();

    đếm=kiểm tra(s,c);

    printf("ký tự '%c' xuất hiện %d lần \n ",c,count);

 

return 0;

    

    

}

đầu ra

đầu ra

C

1

2

3

Nhập  chuỗi string. chào chào buổi sáng chào

Nhập ký tự để được tìm kiếm: o

ký tự 'o' xảy ra 4 lần

Sử dụng đệ quy

  1. Hàm trả về giá trị đếm mặc định nếu không tồn tại phần tử nào trong chuỗi

2) Nếu chuỗi chứa các phần tử và s[i] không phải là null thì

Hàm so sánh s[i] với ký tự đã nhập. Nếu cả hai đều bằng nhau thì nó làm tăng giá trị đếm

Tăng giá trị i

Gọi chính chức năng đó

Hàm gọi chính nó theo cách đệ quy cho đến khi s[i] trở thành null thì hàm trả về giá trị đếm cho hàm main()

Làm cách nào để đếm các ký tự riêng biệt trong một chuỗi trong c?

Gọi phương thức getCounts() với chuỗi đầu vào. Bên trong phương thức, đầu tiên, chuyển đổi chuỗi thành chữ thường bằng phương thức toLowerCase(). Bây giờ, hãy tính toán độ dài bằng cách sử dụng phương thức length() của StringBuffer và lưu trữ nó trong một biến

Làm cách nào để đếm số lần một chữ cái xuất hiện trong chuỗi c?

Đối với những người mới bắt đầu sử dụng hàm strcmp để đếm số lần xuất hiện của một ký tự trong một chuỗi là một ý tưởng tồi. Thay vào đó, bạn nên dùng hàm strchr . char str1 = "e";

Làm cách nào để tìm sự xuất hiện của một ký tự trong chuỗi trong c?

Hàm strchr() tìm sự xuất hiện đầu tiên của một ký tự trong chuỗi. Ký tự c có thể là ký tự rỗng (\0); .