Menu
CoddyTech

לולאות מקוננות

חלק מהיחידה יסודות במסלול ה-C של Coddy. שיעור 43 מתוך 63.

לולאות מקוננות הן לולאות שממוקמות בתוך לולאה אחרת. בכל איטרציה של הלולאה החיצונית, הלולאה הפנימית מתבצעת במלואה.

צרו לולאה חיצונית שרצה 3 פעמים:

for (int i = 0; i < 2; i++) {
    // הקוד של הלולאה החיצונית כאן
}

הוסף לולאה פנימית שרצה 3 פעמים בכל איטרציה של הלולאה החיצונית:

int rows = 2;
int cols = 3;
for (int i = 0; i < rows; i++) {
    for (int j = 0; j < cols; j++) {
        printf("%d,%d ", i, j);
    }
    printf("\n");
}

הפלט יהיה:

0,0 0,1 0,2 
1,0 1,1 1,2 

שימו לב שהלולאה הפנימית משלימה את האיטרציות שלה לפני שהלולאה החיצונית עוברת לאיטרציה הבאה שלה. לכל לולאה יש מונה משלה: j מתחיל שוב מ־0 בכל פעם שהלולאה החיצונית רצה, ואילו rows ו־cols נשארים ללא שינוי ורק אומרים ללולאות מתי לעצור.

challenge icon

אתגר

קל

צרו תוכנית שמדפיסה תבנית מלבנית של כוכביות (*) בהתאם למספר השורות והעמודות שהמשתמש סיפק.

התוכנית שלכם צריכה:

  1. לקרוא מהמשתמש שני מספרים שלמים: שורות ועמודות.
  2. להשתמש בלולאות מקוננות כדי להדפיס תבנית מלבנית של כוכביות, שבה הלולאה החיצונית מטפלת בשורות והלולאה הפנימית מטפלת בעמודות.
  3. להדפיס ירידת שורה אחרי כל שורה.

לדוגמה, אם הקלט הוא 3 שורות ו-4 עמודות, הפלט צריך להיות:

**** 
**** 
****

השתמשו במונה חדש לכל לולאה (לדוגמה i עבור השורות ו-j עבור הכוכביות בשורה) והשוו אותו ל-rows או ל-columns. אל תשנו את rows ואת columns עצמם: כל שורה צריכה שוב columns.

נסו בעצמכם

#include <stdio.h>

int main() {
    int rows, columns;
    scanf("%d", &rows);
    scanf("%d", &columns);
    
    // כתבו כאן את הקוד שלכם כדי להדפיס את התבנית
    
    return 0;
}
quiz iconבחנו את עצמכם

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

כל השיעורים ביחידה יסודות

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