Kullanıcıya programımdaki ana işlevde bir dize girmesini ve userString
saklamasını istedim ve kaç kelimenin olduğunu görüntülemek istiyorum.Dizgideki kelimelerin sayısı nasıl sayılır?
int countWords(string d) {
string words = " ";
for (int e = 0; e < d.length(); e++) {
if (isspace(d[e])) {
cout << "The string " << words << "word(s). ";
}
}
return words;
}
ben işlevi aslında (ben isspace()
kullanıldığında neden) beyaz alanların sayısını gerektiğini okumuştum değil, kelimelerin kendileri:
Bu
Ben ana gelen çağrı niyetinde işlevdir .Dize içindeki sözcüklerin sayısını saymayı ve aynı işlevde göstermeyi nasıl yaparım? Anlamakta zorlanıyorum ve hata alıyorum.
Ayrıca kitaplık işlevlerini kullanamıyorum.
Beklenen çıkışı:
- dize "2020" bir kelime var.
- "Hello guys" dizesinin iki sözcüğü var.
İşlevlerinizin üstüne bir "int count = 0;" ekleme ve ardından kendi sınavlarınızla çalışmanızı öneririm d [e] 'nin her bir değeriyle karşılaştığınız zaman 'saymak' için ne olacağını hayal ederken kâğıt üzerinde ples (ve belki bir kaç tane daha fazla). Bunu kod içinde nasıl ifade edeceğinizden emin değilseniz, bu daha iyi bir soru olur, ancak eminim ki bir kişinin kelimelerden kaç tane çalışacağına dair bir mantık/algoritma çalışabilirsiniz. Mevcut kodunuzda ifade etme girişimi göremezsiniz. İpucu: kendinizi uzaydan harflere ve arkaya geçişlerle (yani, isspace (d [e)) &&! Isspace (d [e-1]) '. –
ile ilgilendiğinizi görebilirsiniz. boşluklar –