Menu
CoddyTech

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

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

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

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

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 אונליין