#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
using std::endl; using std::vector;
using std::string; using std::cin;
using std::cout;
bool uzunMu (const string & birinci, const string & ikinci)
{
return birinci.size () < ikinci.size ();
}
int main ()
{
string kelime;
vector<string> kelimeler;
while (cin >> kelime)
{
kelimeler.push_back (kelime);
}
const string enUzunKelime = *max_element(kelimeler.begin (),
kelimeler.end(),
uzunMu);
const string enKisaKelime = *min_element(kelimeler.begin(),
kelimeler.end(),
uzunMu);
cout << "En uzun kelime: " << enUzunKelime << '\n';
cout << "En uzun kelime uzunluk: " << enUzunKelime.size() << '\n';
cout << "En kısa kelime: " << enKisaKelime << '\n';
cout << "En kısa kelime uzunluk: " << enKisaKelime.size() << '\n';
return 0;
}
Girişten gelen en uzun ve en kısa kelimeleri bulan bir örnek yapmaya çalışıyorum.
Örneğin girişte türkçe karakterler kullanılmadığı zaman
Alıntı:
>En uzun kelime corbayapanlar diye düşünüyor
program doğru çalışıyor ama çorbayapanlar yapınca en uzun kelimenin uzunluğunu 14 olarak gösteriyor.
Bunu nasıl düzeltebiliriz acaba. Teşekkürler.
--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]