Menu
Coddy logo textTech

איחוד וחיתוך

חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-Swift של Coddy. שיעור 19 מתוך 56.

מערכים של איברים שונים בולטים כששואלים שאלות על השתייכות הכוללות שתי אוספים.

let a: Set = [1, 2, 3, 4]
let b: Set = [3, 4, 5, 6]

union מחזירה כל איבר משני הצדדים:

a.union(b)              // {1, 2, 3, 4, 5, 6}

intersection מחזירה רק את האיברים שמופיעים בשניהם:

a.intersection(b)       // {3, 4}

כל מתודה מחזירה Set חדש. הקבוצות המקוריות נשארות ללא שינוי. סדר האיטרציה על התוצאה אינו מובטח; יש למיין לפני ההדפסה.

challenge icon

אתגר

קל

קראו שתי שורות קלט. כל אחת היא רשימה של מספרים שלמים המופרדים בפסיקים.

התייחסו אליהן כאל קבוצות a ו-b. הדפיסו שתי שורות:

  1. החיתוך, ממוין בסדר עולה ומחובר באמצעות , (או שורה ריקה אם הוא ריק)
  2. האיחוד, ממוין בסדר עולה ומחובר באמצעות ,

עבור הקלט 1,2,3,4 בשורה הראשונה ו-3,4,5,6 בשורה השנייה, הפלט הוא:

3,4
1,2,3,4,5,6

נסו בעצמכם

let a = Set(readLine()!.components(separatedBy: ",").map { Int($0)! })
let b = Set(readLine()!.components(separatedBy: ",").map { Int($0)! })

// TODO: למיין את איברי החיתוך ולחבר אותם, למיין את איברי האיחוד ולחבר אותם
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה לוגיקה וזרימת תוכנית

תרגלו בעצמכם: Swift אונליין