מיון פוינטרים

yhaim

New member
מיון פוינטרים

יש לי מערך של פוינטרים מסוג char שמוגדר כך:
char **arr=new char*[4()];​
כל תא במערך מכיל פוינטר לכתובת של מילה בזיכרון. אני צריך למיין את המילים בסדר עולה לפי האות הראשונה. אני משתמש במיון בועות אבל הקוד הבא לא ממיין אותם כמו שצריך
for(i=count-1;i>=0 && !f;i--) f=1; for(j=0;j<i;j++) if(arr[j]>arr[j+1]) { char *tmp=arr[j]; arr[j]=arr[j+1]; arr[j+1]=tmp; f=0; }​
האם למישהו יש רעיון?
 
ההשוואה לא טובה

כי אתה צריך להשוות בין המחרוזות, כלומר ע"י:
strcmp(arr[j], arr[j+1])​
 
נראה לי שחסרים כמה דברים קטנים

כמו פתיחה וסגירה של בלוק מיד אחרי ה-FOR I ובסוך הקוד. בנוסף, לא איתחלת את F להיות 0 בקוד ששלחת. יש גם שגיאה בשורת ההקצאה. למה רשמת () אחרי ה-4?
 
למעלה