פורסם 2008 בפברואר 1917 שנים עליי לכתוב פעולה אשר מקבל מערך מסדרת אותו מהמספר הקן לגדול ומחיזרה את המערך המסודרstatic int[] Da(int[] a, int x){int[] b = new int[a.Length - 1];for(int i=0;i<a.Length;i++){if (i == x) break;else b[i] = a[i];}return b;}static int[] Ma(int[] a){int[] b = new int[a.Length];int[] c = a;int p=0;for (int i = 0; i < a.Length; i++){int min = c[0];for (int j = 0; j < c.Length; j++){if (c[j] < min){min = c[j];p = j;}}c = Da(c, p);b[i] = min;}return b;}static void Main(string[] args){int[] t = { 2, 3, 1,4,5,7,6 };t = Ma(t);for (int i = 0; i < t.Length; i++)Console.Write(t[i] + " ");}זה מה שכתבתי אבל לא הולך לא יודע למה ניסיתי לעקוב צעד אחר צעד אבל לא הבנתיקיצר לקחתי את המערך חיפשתי את הערך הקטן היותר שמתי אותו במערך חדש ולאחר מכן "גזרתי את הערך הזה (הקטן ביותר) מהמערך וכך עד לסוף רק שבמספר האחרן זה לא עושה עזרה בבקשה!!!????
פורסם 2008 בפברואר 1917 שנים מה שאתה מנסה לעשות זה למיין מערך יש מלא שיטות רק צריך לחפש..אני מציע לך לחפש על מיון בועות זה המיון הכי פשוט להבנה..אני פשוט מנסה לקרוא את הקוד אבל הוא ממש לא ברור ..מה זה Ma ו Da .. תכתוב שמות יותר משמעותיים כמו sort ו - find_min ...
פורסם 2008 בפברואר 1917 שנים ערוך בבקשה את הכותרת כך שתכיל את השפה שבה אתה מתכנת.חוץ מזה, קשה לקרוא את הקוד שלך. דאג להזיח אותו כהלכה.ולגבי השאלה עצמה, כמו שאמר זה שמעליי - חפש מיון בועות (bubble sort) בויקיפדיה.
פורסם 2008 בפברואר 1917 שנים מחבר מה שאתה מנסה לעשות זה למיין מערך יש מלא שיטות רק צריך לחפש..אני מציע לך לחפש על מיון בועות זה המיון הכי פשוט להבנה..אני פשוט מנסה לקרוא את הקוד אבל הוא ממש לא ברור ..מה זה Ma ו Da .. תכתוב שמות יותר משמעותיים כמו sort ו - find_min ...הצלחתי תודה למי שהגיב וסליחה אחי פעם הבאה אני ישתמש בשמות משמעותיים, וגם אני יסדר לפני שאני יפרסם ולמי שרוצה לראות איך פתרתי בבקשה הנה הקוד, מה שנישר זה רק להעתיק למהדר ולהריץ: static int[] G(int[] a,int x){ int[] b = new int[a.Length - 1]; int count = 0; for (int i = 0; i < a.Length; i++) { if (i != x) { b[count] = a[i]; count++; } } return b;}static int[] B(int[] a){ int[] b = new int[a.Length]; int[] c = a; int r = 0; for (int i = a.Length - 1; i >= 0; i--) { int max = c[0]; int j = 0; r = j; for (j = 0; j < c.Length; j++) if (c[j] > max) { max = c[j]; r = j; } b[i] = max; c = G(c, r); } return b;}static void Main(string[] args){ int[] ar = { 9,1,3,4,6,7,8,2,5 }; ar = B(ar); for (int i = 0; i < ar.Length; i++) Console.Write(ar[i] + " "); Console.WriteLine();}
פורסם 2008 בפברואר 1917 שנים הקוד שלך מסורבל כמו החיים...תסתכל על הפונקציה G (שאני עדיין לא סגור על מה היא עושה) - הלולאה שבה לחלוטין מיותרת!
פורסם 2008 בפברואר 1917 שנים מחבר הקוד שלך מסורבל כמו החיים...תסתכל על הפונקציה G (שאני עדיין לא סגור על מה היא עושה) - הלולאה שבה לחלוטין מיותרת!הפעולה G מה שהיא עושה בעיקרון היא מקבל מערך ואת המקום הסידורי של המספר הגדול ביותר במערך ומה שהיא עושה היא בונה מערך ללא המספר כך שהמערך הולך וקטן ובפעולה B זה חוזר על עצמו המספר גדול ביותר נשמר המספר הסידורי שלו עובר לפעולה G בכדי "להוריד" אותו מהרשימהאחי אני יודע שזה מסורבל וארוך עם הזמן אני ישתפר, לפחות זה עובד ואני יקבל את העובר שלי!
פורסם 2008 בפברואר 1917 שנים קח את הקוד הזה למשל תראה איך הוא מסודר ותסדר ככה פעם הבאה.. static void Main(string[] args) { int[] ar = { 9, 1, 3, 4, 6, 7, 8, 2, 5 }; Sort(ar); //print the sort array for (int i = 0; i < ar.Length; i++) Console.Write(ar[i] + " "); } static void Sort(int[] ar) { int temp; for (int i = 0; i < ar.Length; i++) for (int j = 0; j < ar.Length - i - 1; j++) if (ar[j] > ar[j + 1]) { temp = ar[j]; ar[j] = ar[j + 1]; ar[j + 1] = temp; } }זה מיון בועות.. שוב פעם הצלחת אבל זה לחלוטין לא ברור מה כתבת.. גם שאתה כותב if וכותב קוד רק ב else זה לא יפה לכתוב ככה ולא ברור..פשוט תשנה את התנאי שלך ל != במקום ==הסתבכת יותר מדיי עם השיטה שלך לטעמי
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.