PDA

View Full Version : درصد حروف یک متن



saeid88
دوشنبه 16 آبان 1390, 23:37 عصر
دوستان عزیز سلام
من با ++ turbo c برنامه زیر را که تعداد حروف یک متن را مشخص میکند اجرا کردم اما یک ارور داشت این ارور را چگونه رفع کنم؟ در صورتی که درصد هر حرف متن را بخواهم برنامه را چگونه بنویسم لطفا راهنمایی کنید.


#include<iostream.h>
#include<conio.h>
#include<stdio.h>
struct tmpst_
{
char ch;
int count;
}
charcount(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[i].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=s"how are you my friend."};
len=strlen(str);
mySt=new struct tmpst [len];
c=chrcount(mySt,str);
count<<'\n'<<str;
for{int i=0 ;i<c;i++)
count<<"\n"<<"count of"<<MySt[i].ch<<"is"<<MySt[i].count;
delete[]MySt;
return0;
}
}

developing
سه شنبه 17 آبان 1390, 10:12 صبح
با سلام

فعلا من اين مشكلاتي رو كه توي كدت مي بينم مي نويسم تا بعد:
1- بعد از انتهاي ساختارت(struct )حتما سمي كالن بذار(خط 8)
2- بعد از اعلان تابع سمي كالن نمياد(خط 9)
3- خروجي تابع رو حتما بنويس اينجوري برنامه ات استانداردتر مي شه پس int رو به ابتداي تابع اضافه كن (خط 9)
4- در حلقه ي for هميشه سه عدد سمي كالن وجود دارد و
5- در انتهاي حلقه سمي كالن نمي آيد به شكل زير: (خط 13)
for(int i=0;i<strlen(str);i++)
6- false كلمه ي كليدي است ولي False نيست چرا كه كلمات كوچك و بزرگ در CPP تفاوت دارد.(خط 15)
7- به همان علت بالا به جاي C بايد بنويسي c (خط 25)
8- آكولاد بسته if دوم را فراموش كرديد.(خط 26 يك آكولاد بسته اضافه كنيد.
9- آكولاد بسته و s اضافي را برداريد.(خط 34)
10- به همان علت خط 6 متغير mySt بايد به MySt تغيير يابد.(خط 36)
11- ساختار tmpst وجود ندارد بايد آنرا به _tmpst تغيير دهيد.(خط 36)
12- mySt به MySt (خط 37)
13-chrcount به charcount(خط 37)
14- count به cout(خط 38)
15- } به ) (خط 39)
16- count به cout(خط40)
17-return0 به return 0 (خط 42)