עבר עריכה לאחרונה בתאריך 05.12.02 בשעה 21:55
#define N 20 char a[N],b[N]; int i,check[256] int main(void) { scnaf("%s%s",a,b); for(i=0;i<256;++i) *(check+i)=0; for (i=0;a[i];++i) check[a[i]]=1; for (i=0;b[i];++i) if (*(check+(*(b+i)))) printf("%d",*(b+i)); return 0; }
|
DRYICE
נ.ב
נא לשים לב, שזה פתרון יעיל(בהנחה שהוא מתקמפל)
עוברים בדיוק פעם אחת על כל אחת מהמחרוזת, ויש מערך עזר,
שרק צריך לאפס אותו(אם ממש רוצים אפשר גם לחסוך
את הזמן הזה)