אם כן, תמצא מספר בין 0-25.. ותעשה שהCHAR שלך שווה למספר +'a' אם זה אותייות קטנות או מספר +'A' לאותיות גדולות וגם בסי אין בעיה לעשות את זה אחרת, רנדום בין 'a' ל'z' כי סי מתייחסת לזה כמו אינטג'ר או כל מספר אחר (זה דבר מאוד נוח, אפילו בVB אין את זה)
uses crt; var i,n:integer; st:string; begin clrscr; randomize; writeLn('enter a number'); readLn; if n mod 2=0 then begin for i:=1 to n do begin st:=st+chr(random(26)+65); end; writeLn; end else writeLn('the num is uneven'); readLn; end.
אני מקווה שזה מה שהתכוונת...אם כן אז מקווה שעזרתי. תומר
כשאתה מנסה להריץ? נורא מוזר לי...כי אצלי זה עובד פרפקט. בעצם כתבתי את הקוד על טורבו פסקל 7 שלי, בדקתי אותו אם הוא רץ טוב ואז העתקתי. אולי תגיד לי מה בדיוק אתה מקבל בהרצה כדי שאוכל להבין מה שגוי בקוד? בכל מקרה הוא כן אמור לקבל את זה כי אמרתי לו שהמפר יהיה ;chr(random(26)+65 וזה בעצם הופך את קוד האסקי שבין 65 ל-97 (כל האותיות הגדולות) לסימנים. תגיד מה לא פועל ואז אוכל לעזור יום טוב! תומר