با استفاده از PHP و تابع str_repeat یک نمودار میلهای متنی بسازید که فراوانی هر کلمه در یک آرایهٔ ورودی رشتهها را نمایش دهد.
1.0 بازدید آخرین ویرایش در 221 روز قبل ساعت 01:27 0.0
برای حل، ابتدا رشتهها را نرمالسازی کنید (trim و تبدیل به حروف کوچک با strtolower یا mb_strtolower)، سپس با استفاده از preg_split یا explode واژهها را استخراج و با array_count_values فرکانسها را بشمارید، مرتب کنید (arsort) و برای هر کلمه با str_repeat یک میلهٔ متنی (مثلاً استفاده از '|' یا '█') به اندازهٔ تعداد تکرار چاپ کنید. نکات: برای ورودیهای بزرگ طول میله را با یک ضریب مقیاس محدود کنید و برای متون یونیکد از توابع mb_* و الگوی preg_split با مد u استفاده کنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای نمودار میلهای متنی با PHP و str_repeat ایدهٔ خوبی است؛ اما حواستان به نرمالسازی ورودی باشد. از mb_strtolower برای تبدیل به حروف کوچک یونیکد استفاده کنید و واژهها را با preg_split با مد u استخراج کنید. سپس با استفاده از array_count_values فرکانسها را بشمارید و با arsort مرتب کنید تا فراوانیها در جهت صعود یا نزول چیده شوند. برای اندازهٔ میلهها در ورودیهای بزرگ، یک ضریب مقیاس ثابت رعایت کنید تا طول میلهها قابل کنترل باشد.
گزارش