Jak znaleźć częstotliwość znaków w ciągu w C ++

Jak znaleźć częstotliwość znaków w ciągu w C ++
W C ++ Strings są szeroko stosowane do obsługi danych. Strings może przechowywać nadwyżkę liczby znaków. Czasami musimy szukać określonego znaku wewnątrz ciągu wejściowego. W tym celu musimy ręcznie iterować cały sznurek, co jest czasem rozmowy i niemożliwe dla dużych strun. Tak więc w tym artykule omówimy, w jaki sposób można policzyć częstotliwość konkretnego znaku wewnątrz ciągu C ++.

Spis treści

  • Jaka jest częstotliwość znaków w ciągu w C++
  • Jak znaleźć częstotliwość znaku w ciągu w C++
  • Jak znaleźć częstotliwość wszystkich znaków w ciągu w C++
  • Jak znaleźć częstotliwość znaku w ciągu wprowadzania użytkownika w C++
  • Wniosek

Jaka jest częstotliwość znaków w ciągu

Częstotliwość znaków to liczba razy, gdy określony znak pojawia się w ciągu wejściowego. Na przykład w ciągu "Witaj świecie!" Jeśli znajdziemy częstotliwość postaci „o”, Wynik będzie dwa.

Jak znaleźć częstotliwość znaku w ciągu w C++

Poniżej podany kod jest program C ++, który znajdzie częstotliwość postaci w ciągu.

#włączać
#włączać
za pomocą przestrzeni nazw Std;
int main ()
String str = "Linuxhint.com ";
char ch = „i”;
int count = 0;
dla (int i = 0; i < str.length(); i++)
if (str [i] == ch)
count ++;

Cout << "The frequency of " << ch << " in " << str << " is: " << count;
powrót 0;

Tutaj, w powyższym kodzie, ciąg „Linuxhint.com ” jest przypisany do zmiennej str, i postać 'I' jest przypisany do zmiennej Ch.

Następnie program inicjuje liczbę zmienną do 0 i pętle przez każdy znak w ciągu za pomocą a dla pętli. Dla każdego znaku program sprawdza, czy pasuje do postaci Ch. Jeśli istnieje dopasowanie, zmienna liczby jest zwiększana 1.

Ostatnia część programu drukuje częstotliwość postaci Ch w ciągu str używając Cout oświadczenie.

Wyjście

W wyjściu możemy zobaczyć częstotliwość znaku I jest 2 w określonym ciągu „Linuxhint.com ”. Wyjście powyższego programu byłoby:

Jak znaleźć częstotliwość wszystkich znaków w ciągu w C++

Poniżej znajduje się program C ++, który znajdzie częstotliwość wszystkich znaków w danym ciągu.

#włączać
#włączać
za pomocą przestrzeni nazw Std;
int main ()
String str = "Linuxhint.com ";
int liczba [256] = 0; // Zakładanie zestawu znaków ASCII
dla (int i = 0; i < str.length(); i++)
Count [int (str [i])] ++;

dla (int i = 0; i < 256; i++)
if (Count [i]> 0)
Cout << "The frequency of " << char(i) << " in " << str << " is: " << count[i] << endl;

powrót 0;

Tutaj, w powyższym przykładzie, przypisaliśmy ciąg „Linuxhint.com ” do zmiennej str. Po tym programie inicjuje liczbę macierzy wielkości 256, który jest wielkością zestawu znaków ASCII. Każdy element w tablicy reprezentuje unikalny znak ASCII, a wszystkie elementy są początkowo ustawione na 0.

Program następnie zapętla się przez każdy znak w ciągu za pomocą dla pętli, i zwiększa odpowiedni element w tablicy liczby dla każdego znaku. W ten sposób program liczy częstotliwość znaków.

W ostatniej części programu pętla przebiega przez tablicę liczby i wydrukuje częstotliwość każdego niezerowego elementu, wraz z odpowiednim znakiem i ciągiem wejściowym za pomocą Cout oświadczenie.

Wyjście

Tutaj, w wyjściu, możemy zobaczyć częstotliwość wszystkich znaków w ciągu ciągu „Linuxhint.com ”. Wyjście tego programu byłoby:

Jak znaleźć częstotliwość znaku w ciągu wprowadzania użytkownika w C++

Poniżej znajduje się przykładowy program C ++, który znajdzie częstotliwość znaków w ciągu użytkownika.

#włączać
#włączać
za pomocą przestrzeni nazw Std;
int main ()
string str;
char ch;
int count = 0;
Cout << "Enter a string: ";
getline (cin, str);
Cout << "Enter a character to find its frequency: ";
cin >> ch;
dla (int i = 0; i < str.length(); i++)
if (str [i] == ch)
count ++;

Cout << "The frequency of " << ch << " in " << str << " is: " << count;
powrót 0;

Powyższy program inicjuje pusty ciąg str, postać Ch, i liczba liczb całkowitych do 0. Program następnie prosi użytkownika o wprowadzenie łańcucha za pomocą Cout oświadczenie. Następnie getline () funkcja za pomocą Cin odczytuje wejście użytkownika, takie jak tekst, symbole i przestrzenie.

Program ponownie prosi użytkownika o wprowadzenie postaci, aby znaleziono jego częstotliwość za pomocą Cout stwierdzenie i Cin funkcja, która odczytuje pojedynczy znak ze standardowego strumienia wejściowego.

Po tym programie zapętla się przez każdy znak w ciągu za pomocą pętli i sprawdzić, czy pasuje do postaci Ch. Jeśli istnieje dopasowanie, zmienna liczby jest zwiększana o 1.

W ostatniej części kodu program wydrukuje częstotliwość postaci Ch w ciągu wprowadzania użytkownika za pomocą Cout oświadczenie.

Wyjście

Poniżej znajduje się wyjście dla ciągu wprowadzania użytkownika „Linuxhint.com ”. Tutaj znaleźliśmy częstotliwość postaci "I" który jest 2.

Wniosek

W tym artykule omówiliśmy, jak znaleźć częstotliwości znaków w ciągach C ++. Aby znaleźć częstotliwość określonego znaku wewnątrz ciągu, możemy użyć pętli dla dla całego ciągu wejściowego i zwiększając liczbę dla określonego znaku za każdym razem, gdy znajduje się w tym ciągu. Aby uzyskać więcej informacji na temat znalezienia częstotliwości znaków w C ++, przeczytaj artykuł.