Logo

רד-בורד: ארכיון

ראשי > תיכנות > בעיה קטנה בC מערכים

23/03/2007 14:10:33 ZABANSHAN
שלום יש לי מערך שניקרא MATH[30[ והוא קולט 30 ציונים של תלמידים אני רוצה איזה פקודה שתסדר את הציונים מהגבוה לנמוך יש הצעות???
23/03/2007 15:58:04 Ratinho
יש שלושה סוגי מיונים עיקריים - מיון בועות, מיון בחירה(ישיר) ומיון הכנסה.
אני ממליץ על בועות/בחירה, google it!!!
(בכל מקרה, זה לא איזו פונקציה, אתה צריך לבנות אותה/ להוריד קוד מקור שלה...)
אם אתה לא מוצא תבקש פה אני אכתוב לך...
23/03/2007 19:37:15 Hypathia
קרא על עץ בינארי

http://en.wikipedia.org/wiki/Binary_tree


רתינו, איך קוראים את בועות\בחירה בלעז?
23/03/2007 21:52:04 NexTos
מיון בחירה - selection sort
מיון בועות - bubble sort
מיון הכנסה - insertion sort
גגל אותה =]
24/03/2007 18:53:48 devil kide
הפתיה, הוא התכוון למיין מערך, לא איזה דרך יעילה לעשות את זה.
24/03/2007 19:39:39 Ratinho
כע, אל תסבכי אותו עם עצים בינאריים (-*
וזה רטינו ד"א...
24/03/2007 20:42:39 Hypathia
בכלל חבל לסבך בן אדם עם שפות תכנות...

זה מיותר.
24/03/2007 21:24:05 Ratinho
לא באמת, אם הוא מבקש עזרה במיון מערך כנראה שהוא לא מתקדם מדי (ואם כן.. בעע), אז אין צורך לנסות להסביר לו משהו בנושא יותר מדי מתקדם...
24/03/2007 22:15:59 devil kide
עצים בינארי אומר שצריך לדעת לעבוד עם פונקציות ורקורסיה, אם הוא לא יודע למיין מערך סביר להניח שהוא לא יודע לעבוד עם פונקציות ורקורסיה.
25/03/2007 17:14:43 ZABANSHAN
גבר אתה יכול לכוון אותיי לרשום קוד??
למה לא מצאתי חומר בעיברית ואם אנגלתי אני לא מסתדר....
25/03/2007 17:16:37 devil kide
בגדול, תיצור מערך חדש, ואז תחפש את המספר הגדול ביותר במערך הנתון ותכניס אוו למערך החדש,את המספר הגדול תאפס ותחפש את המספר הגדול ביותר שבא אחריו ואותו תכניס למערך הבא...
25/03/2007 19:16:49 ZABANSHAN
אחשלי סלח לי קצת על הבורות אני חדש בעניין אם הבנתי אותך נכון אני יעשה לולאה שתעה חיפוש בין כל המספרים ואת המספר הכי גבוא תשמור במערך חדש???
25/03/2007 19:52:44 NexTos
ובנוסף את המספר הגבוהה הזה שמצאת תאפס אותו במערך ה"ישן" וככה בסריקה הבא של הלולאה זה ימצא את המספר הכי גבוהה אחריו וכך הלאה..
26/03/2007 11:40:17 xtr
יש לי דרך קצת ארוכה ...

מה הציון הכי גבוהה - 100

מה הציון הכי נמוך - 0


קוד:
משתנה מונה = 0
משתנה מערכך מסודר arr
צריך לולאה של מ 0 עד 100 אינדקס j
לולאה של 0 עד 29 אינדקס i
אם math = = j
arr[mone++]=math
[ההודעה נערכה על-ידי xtr ב-26/03/2007 11:41:15]
26/03/2007 12:56:53 ZABANSHAN
שמעו תודה רבה על העזרה אבל אני יושב מלא זמן ונתק ניסיתי הרבה דרכים זה בעיה למישהו לכתוב לי פה קוד בבקשה???
26/03/2007 14:37:15 Debug
דוגמא למיון מערך בשיטת מיון בועות:

קוד:#include <stdio.h>
int not_arng[30],i,i1,r,d;
int main(){
for (i=0;i<30;i++){
d=100;
not_arng[i’]=(d-i);
printf("%d,",not_arng);
}
printf("\n");
for(i1=0;i1<30;i1++){
for (i=0;i<30;i++){
if(not_arng[i’]>not_arng[i+1]){
r=not_arng[i+1];
not_arng[i+1]=not_arng[i’];
not_arng[i’]=r;
}
}
}
for (i=0;i<30;i++){
printf("%d,",not_arng[i’]);
}
}

כמובן שיש דרכים לייעל את המיון אבל את זה נשאיר לך לעשות =)[ההודעה נערכה על-ידי Debug ב-26/03/2007 14:39:31]
26/03/2007 16:27:28 xtr
int math
int mone = 0;
int arr[30]
int i,j;
for (j=0;j<101;j++)
for (i=0;i<29;i++)
if (math[*i*]==j)
arr[mone++]=math[*i*];[ההודעה נערכה על-ידי xtr ב-26/03/2007 16:28:43]
26/03/2007 18:11:46 hashashin
לדברים כאלו הכי יעל זה רדיקס סורט ...
O(n
עמודים: 1