שניצל פורסם 2012 בדצמבר 25 Share פורסם 2012 בדצמבר 25 נתחיל מזה שאחרי שקראת את כל הערכים פעם אחת לתוך tb, אתה לא צריך לעשות את זה שוב לתוך t - אפשר פשוט להעתיק מ-tb ל-t בלולאה פשוטה.תפריד בין העבודה מול המשתמש ושאר הקוד. אחרי שקראת את התוכן של תיבות הטקסט, אתה לא צריך אותן יותר עד שתסיים עם האלגוריתם, ואז תכתוב לתוכן בחזרה.הקטע עם הסכום הוא בכלל מסורבל ומסובך, ויש דרכים הרבה יותר טובות להתמודד עם זה. במיון אתה לא חייב להחליף בין הערכים, אתה יכול פשוט לשמור את ה"מיקום" החדש של כל ערך (לדוגמה, אם החלטת שפעולה 4 צריכה להיות בהתחלה, אז זה אומר שבמקום 0 צריך להיות 4).יש מבין?חוץ מזה, הערה קטנה אך חשובה: תן שמות משמעותיים למשתנים שלך. tb ו-t הם לא שמות משמעותיים, כי מי שקורא אותם לא יכול להבין מה הם אמורים להביע. קישור לתוכן שתף באתרים אחרים More sharing options...
nati2211 פורסם 2012 בדצמבר 25 מחבר Share פורסם 2012 בדצמבר 25 זו הבעיה .. שאני לא יודע איזה פעולה צריכה להיות בהתחלההמשתמש מזין את הערכים והתוכנה צריכה לעשות זאת לבד.אם אצטרך לעשות את הקוד כפי שעשיתי - אני נדרש מהקורס לעשות עד 10 ערכיםזאת אומרת 10 עצרת חישוביםזה מספר ענק מאוד של לולאות ותנאים.אם יש שיטה של בדיקת מינימום בין 10 מספרים או לפחות יותר מ2 מספרים זה יקל מאוד....או מיון בעזרת שמירה על ערכים מקביליםערך של פעולה 1 במכונה A ו B צריכות להישמר לאורך כל התוכנה קישור לתוכן שתף באתרים אחרים More sharing options...
שניצל פורסם 2012 בדצמבר 25 Share פורסם 2012 בדצמבר 25 איך הגעת ל10 עצרת? שוב, תנסה לחשוב על דרך פשוטה למצוא את המינימום מבין עשרה מספרים. זו לולאה פשוטה. קישור לתוכן שתף באתרים אחרים More sharing options...
nati2211 פורסם 2012 בדצמבר 25 מחבר Share פורסם 2012 בדצמבר 25 זה הסיבוכיות חישוב..אולי לא הבנת כל כך אבל אחרי שמצאתי את המינימום בכל הטבלה אני משבץ אותו ואז ממשיך לחפש את המינימום הבא אחריו כל זאת על פי האילוצים שרשמתי קודם...אם המינימום שייך למכונה A אז נשבץ בהתחלהאם המינימום שייך למכונה B אז נשבץ בסוף...אתה לא יכול לעזור לי אחי ? קישור לתוכן שתף באתרים אחרים More sharing options...
שניצל פורסם 2012 בדצמבר 26 Share פורסם 2012 בדצמבר 26 שכח רגע מכל שאר האילוצים. אני מדבר איתך על בעיה הרבה יותר פשוטה - מציאת מינימום מבין 10 מספרים.נניח שנייה שאין לך מחשב. יש לך ספר עם 100 עמודים, ובכל עמוד כתוב מספר. מישהו שואל אותך: "מה המספר הכי קטן בספר?"איך תעשה את זה? קישור לתוכן שתף באתרים אחרים More sharing options...
nati2211 פורסם 2012 בדצמבר 26 מחבר Share פורסם 2012 בדצמבר 26 יחפש ידנית דף אחרי דף...אם אני עושה כך בתוכנה אז יש לי מלא תנאים... כמו במה שכתבתי עכשיו....איך אפשר לעשות משתנה דו מימדי ואז להשתמש בפונקציית Lbound קישור לתוכן שתף באתרים אחרים More sharing options...
שניצל פורסם 2012 בדצמבר 26 Share פורסם 2012 בדצמבר 26 מה זה אומר "מחפש ידנית דף אחר דף"? תן לי אלגוריתם. קישור לתוכן שתף באתרים אחרים More sharing options...
nati2211 פורסם 2012 בדצמבר 26 מחבר Share פורסם 2012 בדצמבר 26 משווה בין כל שני מספרים מי הנמוך מביניהם וכן הלאה...איך אני עושה את זה בקוד תוכנה זה הבעיה אח שלי! קישור לתוכן שתף באתרים אחרים More sharing options...
שניצל פורסם 2012 בדצמבר 26 Share פורסם 2012 בדצמבר 26 מה זאת אומרת "משווה בין כל שני מספרים"? הסתכלת על שני העמודים הראשונים, השווית בין שני המספרים. מה הלאה?תבין, אלגוריתמיקה צריכה להיות מדויקת. אתה לא יכול לומר למחשב משהו בסגנון "תשווה כל שני מספרים" - אתה צריך לומר לו במדויק מה לעשות. לכן כשמתארים אלגוריתם באופן מילולי, הוא גם צריך להיות מדויק ככל האפשר. קישור לתוכן שתף באתרים אחרים More sharing options...
nati2211 פורסם 2012 בדצמבר 26 מחבר Share פורסם 2012 בדצמבר 26 בוחר בערך אחד מתוך הטבלה ומשווה אותו למספרים האחרים, אם הוא הכי קטן אז נשבץ אותו בהתאם לאלגוריתם.בוחר בערך אחר מתוך הטבלה, ובודק את אותו הדבר...עד למציאת המספר המינימלי ומשבץ בהתאם לאלגוריתם.הבעיה היא שהאלגוריתם הוא קל לחישוב ידנית ומסובך לתכנות.אני מצרף לך קוד חדש שחשבתי עליו ותתקן אותי איפה שאני טועה, המטרה שלי היא לבדוק כל אינדקס ולדעת אם הוא המינימום. אני בוחר אחד ומנסה להריץ אותו על כל האינדקסים הבאים... משהו לא מסתדר לי שם.[size=1] time(0, 0) = TextBox1.Text[/size][size=1] time(0, 1) = TextBox2.Text[/size][size=1] time(0, 2) = TextBox3.Text[/size][size=1] time(0, 3) = TextBox4.Text[/size][size=1] time(0, 4) = TextBox5.Text[/size][size=1] time(0, 5) = TextBox6.Text[/size][size=1] time(0, 6) = TextBox7.Text[/size][size=1] time(0, 7) = TextBox8.Text[/size][size=1] time(0, 8) = TextBox9.Text[/size][size=1] time(0, 9) = TextBox10.Text[/size][size=1] time(1, 0) = TextBox11.Text[/size][size=1] time(1, 1) = TextBox12.Text[/size][size=1] time(1, 2) = TextBox13.Text[/size][size=1] time(1, 3) = TextBox14.Text[/size][size=1] time(1, 4) = TextBox15.Text[/size][size=1] time(1, 5) = TextBox16.Text[/size][size=1] time(1, 6) = TextBox17.Text[/size][size=1] time(1, 7) = TextBox18.Text[/size][size=1] time(1, 8) = TextBox19.Text[/size][size=1] time(1, 9) = TextBox20.Text[/size][size=1] a = 9[/size][size=1] For I = 1 To 0 Step -1[/size][size=1] For j = 0 To 9[/size][size=1] For v = 0 To 9[/size][size=1] If time(I, j) < time(I, v) And time(I, j) <= time(j + 1, v) Then[/size][size=1] '' פה יהיה האלגוריתם... אבל התנאי שגוי נראה לי...[/size][size=1] End If[/size][size=1] Next[/size][size=1] Next[/size][size=1] Next[/size] קישור לתוכן שתף באתרים אחרים More sharing options...
שניצל פורסם 2012 בדצמבר 26 Share פורסם 2012 בדצמבר 26 עזוב לרגע את הבעיה שנתנו לך!תבין שאם אתה לא מצליח לפתור בעיה הרבה יותר בסיסית (מציאת המינימום מתוך מערך של מספרים), אז גם לא תצליח לפתור את הבעיה הזו. אז תשכח מהבעיה שלך, ותתמקד בבעיה הפשוטה יותר.תזכור את הכלים שיש לך. אתה יכול להשוות בין שני מספרים (באמצעות Math.Min או באמצעות האופרטורים < ו->), אתה יכול לשמור ערכים במשתנים, ואתה יכול לעשות לולאות. קישור לתוכן שתף באתרים אחרים More sharing options...
nati2211 פורסם 2012 בדצמבר 26 מחבר Share פורסם 2012 בדצמבר 26 אח שלי אני יודע ומכיר את השיטות הללו...כנראה שאתה לא מבין את אלגוריתם ג'ונסון - שנינו באים מתחומים שונים.. אני בטוח שזה דבר פשוט בשבילך, אבל תבין לא כל הפשוט לך הוא הפשוט לאחר ולא כל הפשוט לי הוא הפשוט לך - כמו שאמרתי שנינו באים מתחומים שונים...אם אני אראה את הפתרון של הדבר הזה בקוד תוכנה אני בטוח יבין אותו... פשוט לי אישית קשה לכתוב את זה בקוד תוכנה ! קישור לתוכן שתף באתרים אחרים More sharing options...
שניצל פורסם 2012 בדצמבר 26 Share פורסם 2012 בדצמבר 26 אם אתה יודע ומכיר את השיטות האלה, אז לא תהיה לך בעיה לכתוב פה את הקוד הזה, נכון?נניח ש-t הוא מערך בגודל 10 שמכיל מספרים. תכתוב לי בבקשה קוד VB שמדפיס את המספר הקטן ביותר ב-t. קישור לתוכן שתף באתרים אחרים More sharing options...
genia פורסם 2012 בדצמבר 26 Share פורסם 2012 בדצמבר 26 נתי, שניצל נתן לך את כל הכלים לפתור את זה(את הבעיה הפשוטה) כתוב במילים אפילו איך היית פותר את זה ואז יהיה אפשר להתקדםדוגמה לכתיבת "קוד" במילים:משווה בין האיבר השני לראשוןאם הראשון גדול יותר אז...אם השני גדול יותר אז..וכו' קישור לתוכן שתף באתרים אחרים More sharing options...
nati2211 פורסם 2012 בדצמבר 26 מחבר Share פורסם 2012 בדצמבר 26 Dim a(9),temp as integerfor i= to 9 for j = 0 to 8if a(j) > a(j+1) thentemp = a(j)a(j) = a(j+1)a(j+1) = tempnextnextmsgbox(a(0))אח שלי אני יודע איך לעשותהאלגוריתם מורכב ומסובך..אם לדעתכם זה פשוטאז תרשום לי בבקשה קוד שעושה זאת ותראה בעצמך שזה לא כזה פשוט.. קישור לתוכן שתף באתרים אחרים More sharing options...
Recommended Posts
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.