22 תשובות
אפשר להגדיל בנוסף להגדלה הקבועה, בתור הלולאה עצמה (בבלוק שאתה פותח)
מה אתה מנסה לעשות?
אנונימי
שואל השאלה:
במחלקה הגרפית, אז בצב, turtlelib
אני צריך לשרטט ריבוע בתוך ריבוע ע"י לולאה
ואני לא מצליח לעשות את זה חוץ מלולאה אחת של הציור ריבוע
במחלקה הגרפית, אז בצב, turtlelib
אני צריך לשרטט ריבוע בתוך ריבוע ע"י לולאה
ואני לא מצליח לעשות את זה חוץ מלולאה אחת של הציור ריבוע
שואל השאלה:
איך עושים את זה סתם נערה?
איך עושים את זה סתם נערה?
לא הבנתי תסביר ברור יותר אם זה מה שאני חושב שאתה מנסה לעשות אז
while (variable < 5)
{
int copy = variable;
actions.add(() => copy * 2);
++ variable;
}
while (variable < 5)
{
int copy = variable;
actions.add(() => copy * 2);
++ variable;
}
++i
ככה
כל עוד
(++for(i = 0; i > 4; i
ואז את הפקודה...
את יכולה להשתמש גם בwhile או בdo
ככה
כל עוד
(++for(i = 0; i > 4; i
ואז את הפקודה...
את יכולה להשתמש גם בwhile או בdo
שואל השאלה:
במחלקה הגרפית יש אפשרות להטלת קובייה, לשרטוט ציורים עם צב, וכו'
אנחנו עבדנו על שרטוט ציורים עם צב, ויש לי משימה לשרטט ריבוע בתוך ריבוע בתוך ריבוע בעזרת הצב על ידי לולאת פור.
הצלחתי להגיע לזה, אבל השתמשתי בלולאה לכל ריבוע בנפרד.
תאיורטית אפשר לעשות את זה ע"י לולאת פור, רק אם יש אפשרות להציב משתנה שכל פעם כשפעולה אחת נגמרה והיא עוברת לפעולה השנייה באותה הלולאה, אז המשתנה יגדל במספר מסוים (שזה למשל מספר הצעדים שהצב הולך) בגלל שמספר המטרים שהצב הולך מריבוע לריבוע גדל, כי כל ריבוע צריך להיות בתוך ריבוע.
במחלקה הגרפית יש אפשרות להטלת קובייה, לשרטוט ציורים עם צב, וכו'
אנחנו עבדנו על שרטוט ציורים עם צב, ויש לי משימה לשרטט ריבוע בתוך ריבוע בתוך ריבוע בעזרת הצב על ידי לולאת פור.
הצלחתי להגיע לזה, אבל השתמשתי בלולאה לכל ריבוע בנפרד.
תאיורטית אפשר לעשות את זה ע"י לולאת פור, רק אם יש אפשרות להציב משתנה שכל פעם כשפעולה אחת נגמרה והיא עוברת לפעולה השנייה באותה הלולאה, אז המשתנה יגדל במספר מסוים (שזה למשל מספר הצעדים שהצב הולך) בגלל שמספר המטרים שהצב הולך מריבוע לריבוע גדל, כי כל ריבוע צריך להיות בתוך ריבוע.
אני לא ממש מבינה במחלקה הגרפית אבל אני יודעת שאתה יכול נגיד להוסיף הגדלה בתוך הלולאה עצמה ככה:
(int i=0; i<4; i++e)---- הגדלה קבועה באחד בכל פעם
{
מה שאתה רוצה לעשות בלולאה;
i+i/2; -----הגדלה נוספת בתוך הלולאה
}
(int i=0; i<4; i++e)---- הגדלה קבועה באחד בכל פעם
{
מה שאתה רוצה לעשות בלולאה;
i+i/2; -----הגדלה נוספת בתוך הלולאה
}
את תוכלי להסביר לי באופן יותר מובן בפרטי?
כי לא ככ הבנתי מה את מנסה להשיג-_-
כי לא ככ הבנתי מה את מנסה להשיג-_-
תנסה אולי
void main()
{
list<func<int>> actions = new list<func<int>>();
int variable = 0;
var closure = new compilergeneratedclosure();
func<int> anonymousmethodaction = null;
while (closure.variable < 5)
{
if(anonymousmethodaction == null)
anonymousmethodaction = new func<int>(closure.youranonymousmethod);
//we're re-adding the same function
actions.add(anonymousmethodaction);
++closure.variable;
}
foreach (var act in actions)
{
console.writeline(act.invoke());
}
}
class compilergeneratedclosure
{
public int variable;
public int youranonymousmethod()
{
return this.variable * 2;
}
}
void main()
{
list<func<int>> actions = new list<func<int>>();
int variable = 0;
var closure = new compilergeneratedclosure();
func<int> anonymousmethodaction = null;
while (closure.variable < 5)
{
if(anonymousmethodaction == null)
anonymousmethodaction = new func<int>(closure.youranonymousmethod);
//we're re-adding the same function
actions.add(anonymousmethodaction);
++closure.variable;
}
foreach (var act in actions)
{
console.writeline(act.invoke());
}
}
class compilergeneratedclosure
{
public int variable;
public int youranonymousmethod()
{
return this.variable * 2;
}
}
גם אני לא הבנתי מה אתה מנסה לעשות
את יכולה ליצור לולאת פור בתוך לולאת פור
^ כן זאת גם אפשרות
כל החנונים קמים לתחייה
אני פעם השתמשתי בקוד הזה בשביל לעשות משהו דומה למה שאתה מנסה (אם הבנתי אותך נכון)
var bmp = new bitmap(mywidth, cmyheight);
var goff = graphics.fromimage(bmp);
goff.fillrectangle(new solidbrush(color.white), 0, 0, bmp.width, bmp.height);
texturegrass = myapp.properties.resources.grass
rectangle[] rects = ...;
recs = new rectangle[1000]
for (int i = 0; i < rects.length; i++) {
goff.drawimage(texturegrass,rects[i]);
var bmp = new bitmap(mywidth, cmyheight);
var goff = graphics.fromimage(bmp);
goff.fillrectangle(new solidbrush(color.white), 0, 0, bmp.width, bmp.height);
texturegrass = myapp.properties.resources.grass
rectangle[] rects = ...;
recs = new rectangle[1000]
for (int i = 0; i < rects.length; i++) {
goff.drawimage(texturegrass,rects[i]);
שואל השאלה:
תודה על הקודים שאת שולחת, אבל אני מדבר על המחלקה הגרפית ששם זה עובד טיפה שונה.
אני אתן דוגמא למה שהתכוונתי שעשיתי בריבוע בתוך ריבוע, רק רגע
תודה על הקודים שאת שולחת, אבל אני מדבר על המחלקה הגרפית ששם זה עובד טיפה שונה.
אני אתן דוגמא למה שהתכוונתי שעשיתי בריבוע בתוך ריבוע, רק רגע
שואל השאלה:
for (int i = 1; i <= 4; i++)
{
t1.moveforward(100);
t1.turnright(90);
}
t1.tailup();
t1.turnleft(90);
t1.moveforward(100);
t1.turnright(90);
t1.movebackward(100);
t1.taildown();
for (int i = 1; i <= 4; i++)
{
t1.moveforward(300);
t1.turnright(90);
}
t1.tailup();
t1.turnleft(90);
t1.moveforward(100);
t1.turnright(90);
t1.movebackward(100);
t1.taildown();
for (int i = 1; i <= 4; i++)
{
t1.moveforward(500);
t1.turnright(90);
}
}
}
}
for (int i = 1; i <= 4; i++)
{
t1.moveforward(100);
t1.turnright(90);
}
t1.tailup();
t1.turnleft(90);
t1.moveforward(100);
t1.turnright(90);
t1.movebackward(100);
t1.taildown();
for (int i = 1; i <= 4; i++)
{
t1.moveforward(300);
t1.turnright(90);
}
t1.tailup();
t1.turnleft(90);
t1.moveforward(100);
t1.turnright(90);
t1.movebackward(100);
t1.taildown();
for (int i = 1; i <= 4; i++)
{
t1.moveforward(500);
t1.turnright(90);
}
}
}
}
שואל השאלה:
http://sites.huji.ac.il/science/stc/center/groups/oop2006/csharp/unit4/unit4guide.htm
קישור לקצת מידע על המחלקה הגרפית ועל מה שאני מדבר
turtlelib
http://sites.huji.ac.il/science/stc/center/groups/oop2006/csharp/unit4/unit4guide.htm
קישור לקצת מידע על המחלקה הגרפית ועל מה שאני מדבר
turtlelib
שואל השאלה:
קוד:
http://www.up2me.co.il/images/19778842.png
ריבוע בתוך ריבוע:
http://www.up2me.co.il/images/43838744.png
קוד:
http://www.up2me.co.il/images/19778842.png
ריבוע בתוך ריבוע:
http://www.up2me.co.il/images/43838744.png
אתה רציני!?!!?!
ואוו, כשהוא מגדיל את i הוא מגדיל את מספר החזרות של הלולאה...
כדי להגדיל את הצעדים אתה פשוט צריך להגדיל את המשתנה שאחראי על הצעדים...
אני לא טוקסיק אבל אם אתה לא יודע משהו אל תגיד אותו
ואוו, כשהוא מגדיל את i הוא מגדיל את מספר החזרות של הלולאה...
כדי להגדיל את הצעדים אתה פשוט צריך להגדיל את המשתנה שאחראי על הצעדים...
אני לא טוקסיק אבל אם אתה לא יודע משהו אל תגיד אותו
אנונימי
שואל השאלה:
חברים, הכל בסדר אין צורך לריב
בסה"כ הייתי צריך לעשות בסוף הלולאה משתנה שגודל כל פעם ב-50.
למשל אם רציתי להדפיס את הספרה 50, אז בסוף הלולאה להגדיל את המשתנה ב-50 ואז זה ידפיס 100, ואז 150, וכן הלאה..
תודה!
חברים, הכל בסדר אין צורך לריב
בסה"כ הייתי צריך לעשות בסוף הלולאה משתנה שגודל כל פעם ב-50.
למשל אם רציתי להדפיס את הספרה 50, אז בסוף הלולאה להגדיל את המשתנה ב-50 ואז זה ידפיס 100, ואז 150, וכן הלאה..
תודה!
באותו הנושא: