עזרה בתרגיל בשפת C
שלום,
אני צריכה לכתוב ב- C את הפונקציה הבאה:
קידוד RLE מאפשר לדחוס מחרוזות בצורה פשוטה לדiגמא
AAZyOOOp הופך ל A2Z1y1O3p1
או BBccccccD הופך ל- B2c6D1
התרגיל הוא לכתוב פונקציה המקבלת מחרוזת המהווה קידוד של מחרוזת נוספת,על הפונקציה להקצות דינמית מקום למחרוזת המקורית, למלא את ערכה ולהחזיר אותה.
אם פונקציי, ההקצאה נכשלה יש להחזיר הודעת שגיאה.
למשל אם coded_string = p3B2c4 על הפונקציה להחזיר את המחרוזת pppBBcccc
התחלתי לכתוב את הפונקציה אבל אני פשוט לא יודעת איך להמשיך, אשמח לקבל עזרה
בנתיים מה שלמדתי זה מצביעים מערכים ומחרוזות לולאות והקצאת זיכרון דינאמית כך שהקוד לא אמור להכיל משהו מעבר לזה.
שלום,
אני צריכה לכתוב ב- C את הפונקציה הבאה:
קידוד RLE מאפשר לדחוס מחרוזות בצורה פשוטה לדiגמא
AAZyOOOp הופך ל A2Z1y1O3p1
או BBccccccD הופך ל- B2c6D1
התרגיל הוא לכתוב פונקציה המקבלת מחרוזת המהווה קידוד של מחרוזת נוספת,על הפונקציה להקצות דינמית מקום למחרוזת המקורית, למלא את ערכה ולהחזיר אותה.
אם פונקציי, ההקצאה נכשלה יש להחזיר הודעת שגיאה.
למשל אם coded_string = p3B2c4 על הפונקציה להחזיר את המחרוזת pppBBcccc
התחלתי לכתוב את הפונקציה אבל אני פשוט לא יודעת איך להמשיך, אשמח לקבל עזרה
קוד:
char *uncompress(char *coded_string)
{
int size,i;
char *original = (char *)malloc(size*sizeof(char));
if (original == NULL)
{
printf("Dynamic allocation failed in uncompress\n");
return NULL;
}
for (i = 0; coded_string[i] != '\0'; i++)
{
}
}