PDA

View Full Version : تعداد تکرار کاراکترها



mahsa1370
سه شنبه 07 دی 1389, 19:13 عصر
برنامه ای میخوام که یک رشته ای را به عنوان ورودی گرفته و تعداد تکرار هر یک از کاراکترهای موجود در رشته را چاپ کند؟

mahsa1370
سه شنبه 07 دی 1389, 19:14 عصر
میشه لطف کنید سریع جواب برنامه رو بدید؟
ممنون

Ali Safaei
سه شنبه 07 دی 1389, 19:29 عصر
سلام دوست عزیز
فکر کنم باید از فایل string.h استفاده کنی
که میتونی با strlen کارتو راه بندازی

Arcsinos
سه شنبه 07 دی 1389, 23:52 عصر
کار رو زیاد سخت نمیکنیم دو تا آرایه درست میکنیم یکی از نوع کاراکتر یکی هم از نوع صحیح و هر سری میاییم کاراکتر جدید رو تو آرایه ی کاراکتر ها جست و جو میکنیم اگه پیدا شد یه دونه به مقدارش اضافه میکنیم اگه نه کاراکتر جدید رو به ارایه ی کاراکتر ها اضافه میکنیم تا به آخر برسه : اینجوری :

// Count.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include "iostream"
#include "conio.h"
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
int i=0;
char input[100];
int count[40]={0};
char ch[40];
int nch=-1;
cout<<"please enter string :";
cin.getline(input,98);
while(input[i]!=NULL)
i++;
bool find=false;
for(int j=0;j<i;j++)
{
for(int k=0;k<=nch;k++)
if(input[j]==ch[k])
{
count[k]++;
find=true;
break;
}
if(find==false)
{
nch++;
ch[nch]=input[j];
count[nch]++;
}
find=false;
}
int sum=0;
for(int j=0;j<=nch;j++)
{
cout<<ch[j]<<" ------> "<<count[j]<<endl;
sum=sum+count[j];
}
cout<<"\n\t\t\t\tsum ------> "<<sum;
getch();
return 0;
}