הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   c++ קוד שבניתי,מבקש חוות דעת (https://hosts.co.il/forums/showthread.php?t=55910)

Derey22 01-11-07 14:21

c++ קוד שבניתי,מבקש חוות דעת
 
הקוד מיין מערך בסדר עולה מהקטן לגדול.
קוד:

int arr[10],a=9,temp; // צריך להיות שווה לגודל האייברים במערך פחות אחד a משתנה
        arr[0]=6;
        arr[1]=5;
        arr[2]=1;
        arr[3]=8;
        arr[4]=0;
        arr[5]=5;
        arr[6]=1;
        arr[7]=8;
        arr[8]=0;
        arr[9]=3;
                for (int b=0;b<a;b++){
                        for (int c=0;c<a;c++){
                                if (arr[c]>arr[c+1]){
                                temp=arr[c];
                                arr[c]=arr[c+1];
                                arr[c+1]=temp;
                                }
                        }
                }
                for (int br=0;br<a+1;br++)
                {
                cout << arr[br] << ",";
                }

אממ אני בן 14 עוד מאט ואם אני לא טועה זה נקרא אלגוריתם(לא למדתי עוד לוגרתמים).
זה יעיל?
עריכה:יש כבר אלגוריתם כזה (בועות),לא ידעתי אבל סה"כ מה שבניתי כאן הוא טוב?או שאני יכול לשפר?

Daniel 01-11-07 16:44

מה שעשית זה בבל סורו(Bubble Sort). זה לא הכי יעיל-אבל זה נחמד.

אם זה עובד-בהצלחה.

Derey22 01-11-07 16:55

עובד 10,יש עוד מלא דרכים לעשות,לכם יש עוד דרך לעשות את זה?
אני מבקש "קוד" מילולי

חיים 01-11-07 18:12

חח אחי יפה מאוד קוד נחמד חבל רק שזה לא משהוא רציני יותר :( אם היית מביא פה איזה תוכנה קטנה או משהוא נחמד כזה זה היה רציני יותר לדעתי ;P בכל זאת קוד נחמד ואני אישית לא מכיר שום דרך אחרת לעשות את זה

Derey22 01-11-07 18:36

ציטוט:

נכתב במקור על ידי חיים (פרסם 573891)
חח אחי יפה מאוד קוד נחמד חבל רק שזה לא משהוא רציני יותר :( אם היית מביא פה איזה תוכנה קטנה או משהוא נחמד כזה זה היה רציני יותר לדעתי ;P בכל זאת קוד נחמד ואני אישית לא מכיר שום דרך אחרת לעשות את זה

חיים יש מלא דרכים לעשות את זה,
ואמ אני עוה עכשיו

SDF 02-11-07 19:52

כל הכבוד לך, אני בגיל 14 רק קיבלתי את המחשב ה-1 שלי, פנטיום II 300 Mhz, זה היה שיא הטכנולוגיה אז.

ציטוט:

מתוך ויקי:

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

מתכון להכנת עוגה הוא למשל דוגמה לאלגוריתם.
כמה הארות והערות על הקוד שלך:

1. בד"כ כשאומרים C++ אז מתכוונים לOOP, וכאן אין לך OOP, לכן אפשר להדר עם קומפיילר סי רגיל
אם מחליפים cout ב printf.

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

3. כאן יש לך יישומון ג'אווה שמדגים גרפית אלגוריתמי מיון

מקווה שעזרתי ;)

Derey22 02-11-07 20:01

תודה לך,ולמה זה נחשב כלא נכון להכריז בתוך לולאה?
הjava עזר לי מאוד תודה למדתי מזה הרבה.

SDF 03-11-07 14:22

זה לא נכון להכריז משתנים במקום שהוא לא תחילת הפונקציה, לצורך העניין במקרה הזה main().

למה זה ככה? כי זה הדרישה של מדעי המחשב.
זה לא שזה לא יעבוד, פשוט מבחינת מדעי המחשב זה נחשב שגיאה.
כי הקוד נהיה פחות קריא ומובן אם אתה לא רואה ישר את כל המשתנים מוכרזים.
(אפשר להגיד שזה פלצנות של מדעי המחשב)


כל הזמנים הם GMT +2. הזמן כעת הוא 17:03.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ