View Full Version : سوال: پیدا کردن بلندترین و کوتاه ترین کلمه در یک متن
reza4344
پنج شنبه 11 خرداد 1391, 16:03 عصر
سلام
من می خواستم برنامه ای بنویسم که با دریافت یک متن بیاد بلندترین و کوتاه ترین کلمه اون متن رو به من بده
میشه راهنماییم کنین
بهروز عباسی
پنج شنبه 11 خرداد 1391, 17:56 عصر
درود
بلندترین و کوتاه ترین کلمه
وقی میگی کلمه یعنی اینکه دوطرفش باید یک فاصله خالی Space باشه اول کلمات متن رو جدا کن و در آخر با هم مقایسه کن تمومه.
موفق باشی
reza4344
جمعه 12 خرداد 1391, 21:04 عصر
دوستان اگه یه توضیح راجع به این برنامه به من بدید ممنون میشم (لطفا اگه میشه یه کم کامل و جامع باشه)
حامد مصافی
شنبه 13 خرداد 1391, 00:29 صبح
بوسیله تابع boost::split (http://www.boost.org/doc/libs/1_41_0/doc/html/boost/algorithm/split_id1113872.html)براحتی میتونی یک رشته به با جدا کننده فاصله ( " " ) از هم جدا کنی و در یک vector بریزی. بعد از اون پیدا کردن کوتاهترین و بلندترین کار زیادی نخواهد داشت.
mehdi.mousavi
شنبه 13 خرداد 1391, 11:33 صبح
دوستان اگه یه توضیح راجع به این برنامه به من بدید ممنون میشم (لطفا اگه میشه یه کم کامل و جامع باشه)
سلام.
از اونجاییکه برنامه اتون رو برام در پیام خصوصی ارسال کردید و نشون دادید خودتون سعی کرده اید تا مشکل رو رفع کنید اما به هر ترتیب موفق نبوده اید، کد مورد نظر رو براتون می نویسم. اینجا در این سایت، رفع و رجوع تمرین های دانشجویی هدف نیست، اما با اینحال، اگر نشون بدید که خودتون به اندازه کافی در حل مساله تلاش کرده اید، اما به پاسخ نرسیده اید، اونوقت دوستان شما رو در رسیدن به پاسخ همراهی خواهند کرد.
string word, min, max, input = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam hendrerit, tortor vitae faucibus accumsan, enim elit consectetur nisl, sed semper mauris orci eu lacus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Sed posuere magna ornare lacus commodo eget sodales lacus posuere. Donec in lacus lorem, in suscipit elit. In metus dui, blandit ut lacinia vel, rutrum in leo. Morbi in augue sed ipsum aliquet feugiat sit amet vitae neque. Duis laoreet augue sit amet ante sodales in varius quam tincidunt. Nam sagittis consectetur nunc, in pharetra orci egestas eu. Sed rutrum tincidunt scelerisque. Sed viverra pulvinar metus placerat elementum.";
istringstream iss(input, istringstream::in);
while(iss >> word)
{
if(min.length() == 0)
min = word;
if(word.length() > max.length())
max = word;
if(word.length() < min.length())
min = word;
}
cout << "min: " << min << endl;
cout << "max: " << max << endl;
البته header file های زیر رو فراموش نکنید:
#include <iostream>
#include <string>
#include <sstream>
موفق باشید.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.