סיכום – תרשים מקומות ישיבה
חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-R של Coddy. שיעור 21 מתוך 64.
אתגר
בינוניהשלימו את seat_report(seats). seats היא מטריצה של 0 (מושבים פנויים) ו־1 (מושבים תפוסים), שורה אחת לכל שורת מושבים בתיאטרון. החזירו:
- שורה אחת לכל שורה,
Row 1: 2 free Most free: rowואחריו השורה שבה מספר המושבים הפנויים הוא הגדול ביותר (הראשונה במקרה של שוויון)Occupied:ואחריו אחוז המושבים התפוסים, מעוגל למספר שלם, ו־%
הקוד שסופק קורא מטריצה משורה אחת: השורות מופרדות באמצעות ; והערכים בכל שורה מופרדים באמצעות ,, כך ש־1,2;3,4 היא מטריצה שהשורות שלה הן 1 2 ו־3 4. הקוד מדפיס כל שורה שהוחזרה.
נסו בעצמכם
seat_report <- function(seats) {
# כתבו את הקוד שלכם כאן
character(0)
}
# קוד קלט/פלט שסופק: השאירו אותו כפי שהוא
input <- suppressWarnings(readLines(file("stdin")))
parse_matrix <- function(line) {
rows <- strsplit(line, ";")[[1]]
matrix(as.numeric(unlist(strsplit(rows, ","))), nrow = length(rows), byrow = TRUE)
}
cat(seat_report(parse_matrix(input[1])), sep = "\n")
כל השיעורים ביחידה לוגיקה וזרימת תוכנית
1מחרוזות לעומק
תת־מחרוזות עם substr()עיצוב עם sprintf()פיצול וחיבורחיפוש במחרוזותהחלפת טקסטסיכום – בונה שמות משתמש4מטריצות
יצירת מטריצותאינדוקס מטריצותסיכומי שורות ועמודותאריתמטיקה של מטריצותסיכום – תרשים מקומות ישיבהתרגלו בעצמכם: קומפיילר R אונליין