Menu
Coddy logo textTech

המשך לולאות מתויגות

חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-Kotlin של Coddy. שיעור 43 מתוך 63.

פקודת continue עם תווית מדלגת על שאר האיטרציה הנוכחית של הלולאה בעלת השם ומתחילה את האיטרציה הבאה שלה. מתוך לולאה פנימית, continue@rows יכולה לפסול את השורה הנוכחית כולה ברגע שנמצא תא לא תקין אחד.

בתוך main:

var accepted = 0
rows@ for (row in listOf(listOf(1, 2), listOf(3, -1), emptyList())) {
    for (value in row) {
        if (value < 0) continue@rows
    }
    accepted++
}
println(accepted)

התא השלילי פוסל את השורה שלו. השורה הלא־שלילית והשורה הריקה מגיעות להגדלה.

פקודת continue עם תווית עוברת לאיטרציה הבאה של הלולאה ששמה צוין.

challenge icon

אתגר

בינוני

השלם את nonnegativeRows עם הפרמטרים grid: List<List<Int>>. ספור שורות שאינן מכילות ערכים שליליים. שורה ריקה נחשבת. השתמש ב-continue בלולאה חיצונית מתויגת כדי לדחות שורה שמכילה ערך שלילי.

אלא אם צוין לעיל טווח מחמיר יותר, האוספים מכילים לכל היותר 100 איברים בכל רמה, והארגומנטים מסוג מספר שלם וערכי האוספים מסוג מספר שלם הם בין -1000 ל-1000. טקסט שמסופק לניתוח עשוי לכלול ייצוגים לא תקינים או מחוץ לטווח, כמתואר.

החזר ערך מסוג Int. השאר את קוד הקלט/פלט שסופק. הוא קורא ארגומנטים סקלריים, אחד בכל שורה; רשימה מתחילה במספר האיברים שלה ולאחריו האיברים, ומפה מתחילה במספר הרשומות שלה ולאחריו כל מפתח וערך. רשימות מקוננות חוזרות על פורמט המספר והאיברים עבור כל שורה. ה-main שסופקה מדפיסה את ערך ההחזרה ואחריו תו שורה חדשה אחד. רשימות משתמשות בפורמט הסוגריים המרובעים הסטנדרטי של Kotlin; אל תדפיס תוויות נוספות.

נסו בעצמכם

fun nonnegativeRows(grid: List<List<Int>>): Int {
    // כתבו כאן את הפתרון שלכם.
    return 0
}
fun main() {
    val gridCount = readln().toInt()
    val grid = mutableListOf<List<Int>>()
    for (i0 in 0 until gridCount) {
        val gridItemCount = readln().toInt()
        val gridItem = mutableListOf<Int>()
        for (i1 in 0 until gridItemCount) {
            val gridItemItem = readln().toInt()
            gridItem.add(gridItemItem)
        }
        grid.add(gridItem)
    }
    println(nonnegativeRows(grid))
}
quiz iconבחנו את עצמכם

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

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

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