03-06-2009, 08:53
|
|
|
|
חבר מתאריך: 10.06.06
הודעות: 452
|
|
המרה של מחרוזת
התרגיל הבא זה מה שאני אמור לעשות
כתוב תוכנית ב- LEX הקולטת טקסט המורכב אך ורק ממספרים שלמים המהווים את הערך ה-ASCII של אותיות קטנות. על התוכנית להמיר ולהדפיס את הערך ה- ASCII המתאים לזה של האותיות הגדולות באותו הסדר. למשל בקלט:98100102
הפלט הוא: 666870
כתבתי תוכנית בלקס אבל יש לי בעיה עם המרה של כל תו למיספר במיוחד עם הפונקציה של ATOI.אם מישהו יוכל לעזור עם זה בכיף הרעיון נורא פשוט.
%%
int num=0;
int i=0;
[0-9]+ {while (i<yyleng){
if (yytext[i]=='1') {num=0;
num=100+atoi(yytext[i+1])*10+atoi(yytext[i+2]);
printf("%d ",num-32);
i=i+3;
}
if (yytext[i]=='9') {num=90+atoi(yytext[i+1]);
printf("%d ",num-32);
i=i+2;
}
}
}
%%
_____________________________________
לגלריה
|