פורסם 2009 בנובמבר 2216 שנים מחבר אני מקווה שזה הפתרון, כי לפחות לדוגמא שנתנו לתרגיל זה עבד לי סבבה... ;Dvoid f(char s[]){int i=0; for(i=0; s[i]!='\0';i++) { if((s[i+1]-s[i])!=1) { printf("%c",s[i]); } if((s[i+1]-s[i])==1) { printf("%c-",s[i]); i++; while((s[i+1]-s[i])==1) {i++;} printf("%c",s[i]); } }}
פורסם 2009 בנובמבר 2216 שנים נראה בסדר, אבל תדאג לבדוק מקרי קצה (מה קורה אם יש רצף בתחילת המחרוזת? בסוף המחרוזת?)אגב, לא צריך שני ifים, בשביל זה יש else.
פורסם 2009 בנובמבר 2216 שנים מחבר תיקנתי את ה-if השני ל- else ובדקתי מקרי קצה כפי שציינת ועובד כמו קסם !! תודה רבה רבה רבה יואב עזרת כמו תמיד
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.