سلام
لطفا کمک کنید تا برنامه ای بنویسم که تعداد هر حرف را در یک عبارت بشمارد مثلا:
he left the room left
h=1 e=3 l=2 f=2 t=3 r=1 o=2 m=1
he=1 left=2 the=1 room=1
سلام
لطفا کمک کنید تا برنامه ای بنویسم که تعداد هر حرف را در یک عبارت بشمارد مثلا:
he left the room left
h=1 e=3 l=2 f=2 t=3 r=1 o=2 m=1
he=1 left=2 the=1 room=1
سادهترین راه اینه که یه آرایه با 26 عنصر تعریف کنی (به ازای Aِ تا Z) البته در صورتی که بزرگ و کوچکی حروف اهمیت نداشته باشد و بعد رشته ورودی رو پیمایش کنی و به هر کاراکتری که رسیدی، یک واحد به خانه آرایه اون کاراکتر اضافه کنی و در پایان محتویات آرایه رو چاپ کنی(اندیس شروع رو 65 متناسب با کد حرف A و اندیس پایان رو هم 90 متناسب با کد حرف Z بگیر)
برای حالات دیگر هم از همین روش استفاده کن
ممنون تعداد هر حرف حل شد حالا تعداد هر کلمه؟
ای بابا این که سادهتره. یه نگاه به یه جمله بنداز ببین از کجا میشه فهمید چند تا کلمه داره؟
تعداد فاصلهها+1 میشه تعداد کلمات
تعداد کل کلمات که نه!
تعداد تکرار هر کلمه مثلا
he is a bad boy that is bad
he=1 is=2 bad=2 boy=1 that=1
بهترین راه ممکن و آسان ترین را ممکن استنوشته شده توسط PalizeSoftware
سلام،
برای کلمات هم تقریبا به روش مشابهی می تونین عمل کنین:
1. می تونین یه struct بسازین که یه عضوش رشته حاوی کلمه و یه عضو دیگه اش تعداد تکرار اون کلمه (با پیش فرض 0 باشه)، و بعد یه vector از اون struct بگیرین.
2. می تونین دو تا vector به موازات هم بگیرین، یکی از جنس string و دیگری از جنس integer.
در هر دوحالت با پیدا کردن یه کلمه، اونو تو فهرستتون چک کنین، اگه بود، تعدادشو زیاد کنین، اگه نبود به فهرست اضافه کنین و تعدادشو برابر 1 قرار بدین.
میشه بیشتر توضیح بدین؟
اینکه چطوری میشه هر حرف a-z رو به آرایه [A [i اختصاص داد و اینکه در پروسه پیمایش آرایه چطوری میشه مقدار آرایه متناسب با آرایه رو یکی اضافه کرد؟