פורסם 2011 באוקטובר 3014 שנים שלום,יש לי מערך בשם olympic_state שהוא מטיפוס מבנה olympic_statetypedef struct{char state[20];int num_of_athlets;int gold,silver,bronze;}olympic_stateאני צריך למיין אותם לפי מס' המדליות (של כולם ביחד),עשיתי את זה בפונקציה הבאה:void order(){int temp;for(p=olympic_states;p-olympic_states<50;p++){if( (*P).gold +(*P).silver + (*p).bronze ) < ( (*P+1).gold + (*P+1).silver + (*P+1).bronze){temp = (*P).gold + (*P).silver + (*P).bronze;(*P).gold + (*P).silver + (*P).bronze = (*P+1).gold + (*P+1).silver (*P+1).bronze(*P+1).gold + (*P+1).silver + (*P+1).bronze = temp;}}for(P=olympic_states;P-olympic_states<50;P++){printf("\n %s ".P->state);}}רציתי לשאול האם זה יעבוד?תודה
פורסם 2011 באוקטובר 3014 שנים השורה הבאה לא תתקמפל:(*P+1).gold + (*P+1).silver + (*P+1).bronze = temp;תוצאת חיבור הוא לא בדיוק משתנה אלא ערך זמני שלא ניתן להציב לתוכו (RVALUE).למה לא לנסות לקמפל לפני ששואלים?בנוסף, כאשר מחליפים צריך להחליף את כל הערך כלומר את כל השדות, לא רק המדליות.
פורסם 2011 באוקטובר 3014 שנים מחבר לא ממש הבנתי את החלק הראשן..אני רגיל לעבוד אם אינדקסים ושם אני יודע שהדבר הנ"ל יעבוד...
פורסם 2011 באוקטובר 3014 שנים מחבר לגבי שמחליפים צריך להחליף את כל השדות, הכוונה לכל המשתנים באותו מבנה?
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.