Come trovare la frequenza dei caratteri in una stringa in C ++

Come trovare la frequenza dei caratteri in una stringa in C ++
Nelle stringhe C ++ sono ampiamente utilizzate per la gestione dei dati. Le stringhe possono archiviare un numero eccessivo di caratteri. Quindi, a volte dobbiamo cercare un carattere specifico all'interno della stringa di input. Per questo, dobbiamo iterare manualmente l'intera stringa, che è tempo a parlare e impossibile per le stringhe di grandi dimensioni. Quindi, in questo articolo, tratteremo come si può contare la frequenza di un particolare carattere all'interno di una stringa C ++.

Sommario

  • Cos'è la frequenza del personaggio in una stringa in c++
  • Come trovare la frequenza di un carattere in una stringa in c++
  • Come trovare la frequenza di tutti i caratteri in una stringa in c++
  • Come trovare la frequenza di un carattere in una stringa di input utente in C++
  • Conclusione

Cos'è la frequenza del personaggio in una stringa

La frequenza dei caratteri è il numero di volte in cui un determinato carattere appare in una stringa di input. Ad esempio, nella stringa "Ciao mondo!" Se troviamo la frequenza del personaggio 'O', Il risultato sarà due.

Come trovare la frequenza di un carattere in una stringa in c++

Di seguito è riportato il codice indicato è un programma C ++ che troverà la frequenza del personaggio in una stringa.

#includere
#includere
Utilizzo dello spazio dei nomi std;
int main ()
String str = "LinuxHint.com ";
char ch = 'i';
int count = 0;
per (int i = 0; i < str.length(); i++)
if (str [i] == ch)
conta ++;

cout << "The frequency of " << ch << " in " << str << " is: " << count;
restituzione 0;

Qui nel codice sopra, la stringa “Linuxhint.com " è assegnato alla variabile str, e il personaggio 'io' è assegnato alla variabile cap.

Il programma inizializza quindi il conteggio delle variabili su 0 e loop attraverso ogni carattere nella stringa usando a per loop. Per ogni personaggio, il programma controlla se corrisponde al personaggio cap. Se c'è una corrispondenza, la variabile di conteggio viene incrementata da 1.

L'ultima parte del programma stampa la frequenza del carattere cap nella stringa str usando il cout dichiarazione.

Produzione

Nell'output, possiamo vedere la frequenza del carattere io è 2 nella stringa definita “Linuxhint.com ". L'output del programma di cui sopra sarebbe:

Come trovare la frequenza di tutti i caratteri in una stringa in c++

Di seguito è riportato un programma C ++ che troverà la frequenza di tutti i caratteri all'interno di una determinata stringa.

#includere
#includere
Utilizzo dello spazio dei nomi std;
int main ()
String str = "LinuxHint.com ";
int count [256] = 0; // assumendo set di caratteri ASCII
per (int i = 0; i < str.length(); i++)
conta [int (str [i])] ++;

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

restituzione 0;

Qui nell'esempio sopra, abbiamo assegnato la stringa “Linuxhint.com " a variabile str. Dopo quel programma inizializza un conteggio di array di dimensioni 256, che ha la dimensione del set di caratteri ASCII. Ogni elemento nell'array rappresenta un carattere ASCII unico e tutti gli elementi sono inizialmente impostati su 0.

Il programma quindi si schiera attraverso ogni carattere nella stringa usando a per loop, e incrementa l'elemento corrispondente nell'array di conteggio per ciascun carattere. In questo modo, il programma conta la frequenza dei personaggi.

Nell'ultima parte del programma, un ciclo verrà eseguito attraverso l'array di conteggio e stamperà la frequenza di ciascun elemento diverso da zero, insieme al carattere corrispondente e alla stringa di input usando il cout dichiarazione.

Produzione

Qui nell'output, possiamo vedere la frequenza di tutti i caratteri all'interno della stringa “Linuxhint.com ". L'output di questo programma sarebbe:

Come trovare la frequenza di un carattere in una stringa di input utente in C++

Di seguito è riportato un programma di esempio C ++ che troverà la frequenza dei caratteri in una stringa utente.

#includere
#includere
Utilizzo dello spazio dei nomi 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;
per (int i = 0; i < str.length(); i++)
if (str [i] == ch)
conta ++;

cout << "The frequency of " << ch << " in " << str << " is: " << count;
restituzione 0;

Il programma sopra inizializza una stringa vuota str, un personaggio cap, e un numero intero a 0. Il programma chiede quindi all'utente di inserire una stringa utilizzando il cout dichiarazione. Successivamente il getline () funzione usando Cin Leggerà l'input dell'utente come testo, simboli e spazi.

Il programma quindi chiede di nuovo all'utente di inserire un carattere per trovare la sua frequenza utilizzando il cout dichiarazione e CIN funzione, che legge un singolo carattere dal flusso di input standard.

Successivamente questo programma si avvicinerà a ogni carattere nella stringa usando un ciclo per loop e verificherà se corrisponde al personaggio cap. Se c'è una corrispondenza, la variabile di conteggio viene incrementata di 1.

Nella parte finale del codice, il programma stamperà la frequenza del carattere cap nella stringa di input dell'utente utilizzando il file cout dichiarazione.

Produzione

Di seguito è riportato l'output per la stringa di input dell'utente “Linuxhint.com ". Qui abbiamo trovato la frequenza per il personaggio "io" che è 2.

Conclusione

In questo articolo, abbiamo trattato come trovare le frequenze dei personaggi nelle stringhe C ++. Per trovare la frequenza di un carattere specifico all'interno di una stringa, possiamo usare un loop che iterirà attraverso l'intera stringa di input e incremeremo il conteggio per un carattere specifico ogni volta che trova in quella stringa. Per maggiori dettagli sulla ricerca di frequenze di caratteri in C ++, leggi l'articolo.