Verschillende programmeertalen kunnen dit bereiken. Hier zijn voorbeelden in Python en C++. Beide versies gaan op passende wijze om met mogelijke witruimte vooraan/achteraan en meerdere spaties tussen woorden.
Python:
```python
def count_chars_words(regel):
"""Telt tekens en woorden in een tekstregel.
Argumenten:
regel:de invoertekenreeks.
Retouren:
Een tupel met het aantal tekens en woorden. Retourneert (0,0) voor lege invoer.
"""
line =line.strip() # Verwijder voorloop/achterliggende witruimte
zo niet lijn:
retourneer 0, 0
char_count =len(lijn)
word_count =len(line.split()) #split op witruimte
retourneer char_count, word_count
#Voorbeeldgebruik
line ="Dit is een voorbeeldregel."
tekens, woorden =count_chars_words(regel)
print(f"Lijn:'{regel}'")
print(f"Aantal tekens:{tekens}")
print(f"Woordenaantal:{woorden}")
line2 =" Nog een regel met extra spaties. "
tekens, woorden =count_chars_words(regel2)
print(f"\nLijn:'{regel2}'")
print(f"Aantal tekens:{tekens}")
print(f"Woordenaantal:{woorden}")
line3 ="" #test lege regel
tekens, woorden =count_chars_words(regel3)
print(f"\nLijn:'{regel3}'")
print(f"Aantal tekens:{tekens}")
print(f"Woordenaantal:{woorden}")
```
C++:
```cpp
#include
#include
#include
naamruimte std gebruiken;
pair countCharsWords(const string®el) {
string getrimdLijn =lijn;
trimmedLine.erase(0, trimmedLine.find_first_not_of(" \t\n\r\f\v")); //verwijder leidende witruimte
trimmedLine.erase(trimmedLine.find_last_not_of(" \t\n\r\f\v") + 1); // verwijder de achterliggende witruimte
als (getrimde lijn. leeg ()) {
retourneer make_pair(0, 0);
}
int charCount =trimmedLine.lengte();
int woordCount =0;
stringstream ss(getrimde lijn);
stringwoord;
terwijl (ss>> woord) {
woordAantal++;
}
return make_pair(charCount, wordCount);
}
int hoofd() {
string line ="Dit is een voorbeeldregel.";
automatische tellingen =countCharsWords(line);
cout <<"Lijn:'" <
cout <<"Aantal tekens:" <
cout <<"Woordentelling:" <
string line2 =" Nog een regel met extra spaties. ";
telt =countCharsWords(regel2);
cout <<"\nLijn:'" <
cout <<"Aantal tekens:" <
cout <<"Woordentelling:" <
tekenreeks lijn3 =""; //test lege regel
telt =countCharsWords(regel3);
cout <<"\nLijn:'" <
cout <<"Aantal tekens:" <
cout <<"Woordentelling:" <
retour 0;
}
```
Vergeet niet om de C++-code te compileren voordat u deze uitvoert (bijvoorbeeld door g++ te gebruiken:`g++ uw_bestandsnaam.cpp -o uw_uitvoerbare_naam`). Beide programma's kunnen efficiënt omgaan met verschillende witruimtescenario's en bieden een robuuste karakter- en woordentelling. De Python-versie is over het algemeen beknopter. |