בית פורומים למתכנתים שבינינו

חידה למתכנתים שבינינו -C

שלום אורח. באפשרותך להתחבר או להירשם
הצג 15 הודעות בעמוד הוסף לדף האישי  דווח למנהל שלח לחבר
נשלח ב-9/12/2012 15:57 לינק ישיר 
חידה למתכנתים שבינינו -C

GUIDELINES:
 Look at main(): it calls various functions.
You are asked to implement two functions: str_cpy() and str_cat(). No need
  to implement str_printf() and str_free() 
Reading main() carefully will allow to understand str_cpy() and str_cat()
signature and usage.
The code you write needs to be "library quality"; as good as you would
 expect a good libc to implement such functions.
 At the top of the page, you see 4 includes - indicating the functions that
 can be used to implement str_cpy() and str_cat().
 *
 * FYI: it is possible to implement str_cpy() and str_cat() efficiently in no
 *      more than 7 lines of code per function, and in less than 5 minutes.

<include <stdio.h>
<include <stdlib.h>
<include <string.h>
<include <stdarg.h>

([]int main(int argc, char *argv
}
    ;char *s = NULL   
   ;( "str_cpy(&s, "Hola Hola   
   ; (str_cpy(&s, s+5   
    ;("str_cat(&s, " Mundo   
    ;(str_printf(&s, "%s!", s   
    !" */puts(s); /* result: "Hola Mundo   
    ;(str_free(&s   
   ; return 0   
{




דווח על תוכן פוגעני

מנותק
נשלח ב-11/12/2012 11:37 לינק ישיר 

אם אתה לא לוקח בחשבון את עניין הגבלת השורות אז זה ממש לא חידה אלא תרגיל של תחילת שנה א' . . .



דדווח על תוכן פוגעני

מחובר
נשלח ב-27/12/2012 09:21 לינק ישיר 

חידה די קלה...
החידה נלקחה מכאן: 
www.TheCodeIL.com




דדווח על תוכן פוגעני

מחובר
נשלח ב-28/12/2012 13:36 לינק ישיר 

DrNet כתב:
אם אתה לא לוקח בחשבון את עניין הגבלת השורות אז זה ממש לא חידה אלא תרגיל של תחילת שנה א' . . .





דדווח על תוכן פוגעני

מחובר
נשלח ב-1/1/2013 09:30 לינק ישיר 

void str_cpy(char **str,char *str2)
{
  if(*str)
  {
    if(str2)
    {
       char *tmp=*str;
   while(*tmp++ = *str2++);
    }
  }
}
void str_cat(char **str,char *str2)
{
  if(*str)
  {
    if(str2)
    {
      char *tmp=*str+strlen(str2);
      str_cpy(&tmp,str2);
    }
  }
}



מה הטעות פה?


תוקן על ידי קודית ב- 01/01/2013 09:29:53




דדווח על תוכן פוגעני

מחובר
נשלח ב-27/1/2013 18:13 לינק ישיר 

קודית כתב:
מה הטעות פה?

אחת הבעיות היא כתיבה לתוך *str.
הזכרון שם לא הוקצה.



דדווח על תוכן פוגעני

מחובר
   
בית > פורומים > אינטרנט ומחשבים > למתכנתים שבינינו > חידה למתכנתים שבינינו -C
מנהל לחץ כאן לנעילת האשכול
הוסף לעמוד האישי  דווח למנהל שלח לחבר

bholext