PDA

View Full Version : سوال: چطوری این برنامه رو تغییر بدم که تعداد حروف یک جمله رو بشماره؟



amiral67
چهارشنبه 14 اردیبهشت 1390, 11:13 صبح
#include <stdio.h>
#include <conio.h>
void main()
{
int charcount=0,count=0;
char ch;
printf("Enter a Pharase '.' at End:");
while((ch=getche())!='.')
{
count++;
if(ch==' ')
continue;
charcount++;
if(ch!=' ')
continue;
}
printf("\ncharcount=%d",charcount);
getch();
}

zohre karam
چهارشنبه 14 اردیبهشت 1390, 19:54 عصر
اگه کسی بگه ممنون میشم آخه منم کلا با string مشکل دارم:گریه:
ssskky

tdkhakpur
چهارشنبه 14 اردیبهشت 1390, 20:22 عصر
اگر منظورتان این هست که بدانید یک جمله درش چند حرف هست از strlen استفاده کنید اما اگر میخواهید بدانید تعداد حروف به کار رفته در جمله از هر کدوم چند تاست الگوریتم کار به این صورته که باید از ساختار استفاده کنید و هر کدوم از حرفهای قبلی ثبت شده در ساختار رو بررسی کنید تا حرف مشابه مجددا ثبت نشه فقط به تعدادش افزوده بشه همانطور که کد زیر این کار رو انجام میده.


#include <iostream.h>
#include <conio.h>
#include <stdio.h>
struct tmpst_
{
char ch;
int count;
};
int ChrCount(struct tmpst_ *ptr, char *str)
{
int c=0;
bool Find;
for( int i=0; i<strlen(str); i++)
{
Find = false;
for( int j=0; j<c && !Find ; j++ )
if( ptr[j].ch == str[i] ){
ptr[j].count ++;
Find = true;
}
if(!Find){
ptr[c].count = 1 ;
ptr[c].ch = str[i];
c++;
}
}
return c;
}
int main()
{
int c, len;
struct tmpst_ *MySt;
char *str={"How are you my friend."};
len = strlen(str);
MySt = new struct tmpst_ [len];
c = ChrCount(MySt, str);
cout <<"\n"<<str;
for( int i=0; i<c; i++)
cout<<"\n"<<"Count of "<<MySt[i].ch<<" is "<< MySt[i].count;
delete [] MySt ;
return 0;
}