אתגר: שכיחות תווים
חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-PHP של Coddy. שיעור 66 מתוך 68.
אתגר
קלתקבלו קלט יחיד: מחרוזת של טקסט.
הקלט יהיה מחרוזת בפורמט הזה: hello world
קראו את מחרוזת הקלט. ספרו את התדירות של כל תו במחרוזת (ללא תלות באותיות גדולות או קטנות), לא כולל רווחים. שמרו את תדירויות התווים במערך אסוציאטיבי שבו המפתחות הם התווים והערכים הם מספר הפעמים שהם מופיעים.
מיינו את המערך האסוציאטיבי לפי המפתח בסדר אלפביתי עולה באמצעות ksort().
הדפיסו כל תו ואת התדירות שלו בפורמט הבא:
[character]: [count]
הדפיסו כל זוג של תו ותדירות בשורה נפרדת, בסדר אלפביתי.
פורמט הקלט:
- שורה יחידה המכילה מחרוזת של טקסט (לדוגמה:
hello world)
הפלט הצפוי: כל תו והתדירות שלו מודפסים בשורה נפרדת בפורמט: [character]: [count], ממוינים לפי התו בסדר אלפביתי
נסו בעצמכם
<?php
// קראו את הקלט
$text = trim(fgets(STDIN));
// TODO: כתבו את הקוד שלכם למטה
// 1. המירו את המחרוזת לאותיות קטנות
// 2. ספרו את השכיחות של כל תו (למעט רווחים)
// 3. מיינו את המערך לפי מפתח באמצעות ksort()
// 4. הדפיסו כל תו ואת שכיחותו
?>כל השיעורים ביחידה לוגיקה וזרימת תוכנית
1פונקציות מתקדמות
פונקציות אנונימיותסגירות ו-'use'פונקציות חץפונקציות callbackשימוש ב-'call_user_func'פונקציות משתנותהעברה באמצעות הפניהפונקציות רקורסיביותסיכום: מגוון פונקציות4מערכים רב־ממדיים
יצירת מערך דו־ממדיגישה לאיברי מערך דו־ממדישינוי איברי מערך דו־ממדימעבר באמצעות לולאות מקוננותמערכים אסוציאטיביים דו־ממדייםסיכום: תרגיל רשת פשוטה7עבודה עם תאריכים ושעות
הפונקציה 'date()'חותמות זמן של Unix עם 'time()'מבוא לאובייקט DateTimeעיצוב אובייקטים מסוג DateTimeשינוי אובייקטים מסוג DateTimeסיכום: חישובי תאריכים10אתגרים אחרונים
אתגר: בודק פלינדרומיםאתגר: שכיחות תוויםאתגר: סך הכול בעגלת הקניותאתגר: סינון פריטים ייחודיים2מניפולציות מתקדמות במערכים
הוספה באמצעות 'array_push'הסרה באמצעות 'array_pop'הוספה לתחילת המערך באמצעות 'array_unshift'הסרה מתחילת המערך באמצעות 'array_shift'מיזוג מערכים ממוספריםמיזוג מערכים אסוציאטיבייםחילוץ באמצעות 'array_slice'בדיקת ערכים באמצעות 'in_array'חיפוש מפתחות באמצעות 'array_search'סיכום: תרגיל רשימת השמעה3מיון מערכים
מיון מערכים עם אינדקסים בסדר עולהמיון מערכים עם אינדקסים בסדר יורדמיון מערכים אסוציאטיביים לפי ערךמיון מערכים אסוציאטיביים לפי מפתחמיון בסדר טבעימיון מותאם אישית באמצעות 'usort'סיכום: מיון טבלת מוביליםתרגלו בעצמכם: קומפיילר PHP אונליין