PDA

View Full Version : سوال: برنامه شمارش تعداد حروف در کلمات(اسامی) در ++C



code1391
یک شنبه 19 اردیبهشت 1395, 22:11 عصر
با سلام و وقت بخیر..
مشکل در کدنویسی یک برنامه C++‎‎:
اساتید ممنون میشم راهنمایی بفرمایین و ادمین های عزیز اگر تاپیک در جای نامناسبی هست،لطف کنن انتقال بدن،متشکرم.
اولا عرض کنم که کاملا در برنامه نویسی مبتدی هستم و ممنون میشم کمکم کنین.
برنامه ای نوشتیم که 10 کلمه از ورودی میگیرد،مشخص میکند حرف مورد جستجو در کدام کلمات ورودی وجود دارد.
منتهی مشکل اینه اگر کلمه ای مثلا دارای 2 حرف a بود(saman) این کلمه 2 بار در خروجی نمایش داده میشه.
می خواستم لطف کنین راهنمایی کنین:
1-حل مشکل فوق(برنامه هر چند بار که کاراکتر مورد جستجو در کلمات ورودی بود،1 بار آن را چاپ کند.
2-با تغییراتی در برنامه بتوانیم تعداد کاراکتر مورد جستجو را در هر کلمه بیابیم.

~#include <iostream>
using namespace std;
int main(){
char name[10][25];
int i,j;
cout<<"10 kalame ya esm vared konid:"<<"\n";
for(i=1;i<=10;i++)
cin.getline(name[i],25);
char b;
cout<<"harfi ra baraye jostejoo type konid:"<<"\n";
cin>>b;
for(i=0;i<=10;i++)
for(j=0;j<=10;j++)
{
if(b==name[i][j])
cout<<name[i]<<"\t daraye harfe "<<"*"<<b<<"*"<<" mibashad."<<"\n";
}

AliAskari1375
دوشنبه 20 اردیبهشت 1395, 11:44 صبح
#include <iostream>
#include <cstdlib>
using namespace std;

int main()
{
char name[10][25];
cout<<"10 kalame ya esm vared konid:"<<"\n";

for(int i=0; i < 10; i++)
cin>>name[i];

char b;
cout<<"harfi ra baraye jostejoo type konid:"<<"\n";
cin>>b;

for(int i = 0; i < 10; i++)
{
int repeat = 0;

for(int j = 0; j < 25; j++)
{
if(b == name[i][j])
{
repeat++;
}
}

if(repeat)
{
cout<<name[i]<<"\t daraye "<<repeat<<" harfe "<<"*"<<b<<"*"<<" mibashad."<<"\n";
}
}


system("pause");
return 0;
}

code1391
دوشنبه 20 اردیبهشت 1395, 16:24 عصر
بسیار ممنونم بابت وقتی که گذاشتین..اصلا فکر نمی کردم به این سرعت به جواب برسم..
فقط چون این برنامه رو در درس برنامه نویسی پیشرفته 2 به ما دادن،چند نکته هست که یه توضیح کوچیک دربارشون بدین بی نهایت ممنون میشم.
1- از فایل سرایند cstdlib برای چه منظوری استفاده شده?
2- از system pause به چه منظوری استفاده شده!؟
3- از دستور if(repeat) برای چه منظوری استفاده شده!؟
بازم ممنونم از وقت و حوصله ای که برای پاسخ سوالم صرف کردین..آرزوی سلامتی و موفقیت می کنم برای شما دوست عزیز.

AliAskari1375
دوشنبه 20 اردیبهشت 1395, 18:53 عصر
خواهش می کنم دوست عزیز

1- سرآیند cstdlib رو وارد کردیم چون که تابع system داخل اون تعریف شده
2- system pause رو برای اون نوشتیم که وقتی برنامه به انتها رسید، صفحه ی Console بسته نشه و بتونید نتیجه رو ببینید
3- if(repeat) هم یعنی if(repeat != 0)