PDA

View Full Version : مشکل در شمارش stringخاص



nazanin2014
شنبه 03 فروردین 1392, 13:37 عصر
سلام دوستان.ی سوال دارم.من دارم ی برنامه مینویسم.تو یه قسمتی احتیاج دارم چاپ کنم که مثلا کلمه appleچند بار تکرار شده.کسی کمکم میکنه؟

smemamian
شنبه 03 فروردین 1392, 15:04 عصر
منظورتون تعداد تکرار اون کلمه در رشته هست ؟ در کد زیر اگه hello یا world رو تایپ کنید تعداد تکرار رو نمایش میدهد (در صورت بزرگ یا کوچک بودن حروف این کد بی فایده است!) :
#include <iostream>
#include <string>
#include <cstring>
#include <cstdlib>
using namespace std;

int main()
{
string one = "hello world,hello world,hello world,hello world\n";
string two ;
string sub ;
cout << "Plz write : \n";
getline(cin,two);
int count_one = two.size() ;
int comp = 0 ;
int rep = 0 ;
for(int i=0 ; i<one.size();i++)
{
sub = one.substr(i,count_one);
comp = sub.compare(two);
if(comp==0)
{
i +=count_one ;
++rep ;
}
}
cout << "Number of repeated: " << rep << endl ;
return 0;
}

smemamian
شنبه 03 فروردین 1392, 15:28 عصر
این برای نادیده گرفتن کوچک یا بزرگ بودن کلمات :

#include <iostream>
#include <string>
#include <cstring>
#include <cstdlib>
#include <algorithm>
using namespace std;

int main()
{

string one = "hello world,hello world,hello world,hello world\n";
string two ;
string sub ;

cout << "Plz write : \n";
getline(cin,two);
string temp = two ;
int count_one = two.size() ;
int comp = 0 ;
int rep = 0 ;
for(int i=0 ; i<one.size();i++)
{
sub = one.substr(i,count_one);
transform(sub.begin(), sub.end(), sub.begin(), ::tolower);
transform(temp.begin(), temp.end(), temp.begin(), ::tolower);
comp = sub.compare(temp);
if(comp==0)
{
i +=count_one ;
++rep ;
}
}
cout << "Number of repeated: " << rep << endl ;


return 0;
}

nazanin2014
شنبه 03 فروردین 1392, 16:32 عصر
من مثال زدم گفتم apple.درواقع میخوام تعداد Spaceرو بشمارم تو یه متن

بهروز عباسی
شنبه 03 فروردین 1392, 16:39 عصر
درود
سال نو مبارک

من مثال زدم گفتم apple.درواقع میخوام تعداد Spaceرو بشمارم تو یه متن
یه حلقه داری از 0 تا طول رشته مورد نظرت توی حلقه تک تک کاراکترهای رشته رو با کاراکتر Space مقایسه میکنی اگه یکی بود به یک متغییر Counter یکی اضافه میکنی .... تا آخرین کاراکتر که برسه

عدد داخل متغییر counter تعداد Space های رشته شماست.

موفق باشی

nazanin2014
شنبه 03 فروردین 1392, 17:09 عصر
مرسی برناممو نوشتم:لبخندساده: