כיצד לשבור


תשובה 1:

הפקודה "הפסקה" שוברת רק את הלולאה בה אתה משתמש בה. ה"פסקה "בה השתמשת בקוד שסיפקת נמצאת בתוך הלולאה הפנימית, כך שהיא מסיימת רק את הלולאה הפנימית. זה לא משפיע על הלולאה החיצונית. על מנת לשבור את הלולאה המקוננת, עליכם להשתמש ב"פריצה "מהלולאה הפנימית (אם יש 2 לולאות מקוננות), עדיף אם תגדירו אותה לאחר סיום הלולאה הפנימית מכיוון שברגע שהלולאה הפנימית נשברת, אתם צריכים לשבור את הלולאה החיצונית. לשם כך, תוכל להמציא מספר שיטות. מה שהייתי מעדיף זה; תוכלו להגדיר משתנה נוסף ולהקצות לו כל ערך במקום בו תמצאו את הנקודה השחורה. ואז בדוק את הערך של המשתנה הזה עם "אם" כאשר הלולאה הפנימית מסתיימת. זה פחות או יותר כזה:

varA = 0; עבור (...) עבור (...) אם (img (j, i) == 0) varA = 1; לשבור; סוֹף; אם (varA == 1) הפסקה; סוֹף; סוֹף;


תשובה 2:

אתה לא צריך לולאה. פקודה find () פשוטה תעשה את העבודה:

[שורה, עמודה] = מצא (img == 0)

באופן כללי, הנוהג המעודד במתלב הוא להשתמש באינדקס לוגי ולא בלולאות.