צריך עזרה בפסקל

kobyp2

New member
צריך עזרה בפסקל

שלום, קוראים לי קובי ואני תלמיד בכיתה י"א בת"א קיבלתי שאלה ואשמח אם תוכלו לעזור לי בפתרונה השאלה היא כזאת : א. פתח וישם אלגוריתם אשר הקלט שלו הוא עשרה שמות(כמחרוזות) והפלט שלו רשימת השמות ממוינים ע"פ סדר אלבייתי(את המחרוזות יש לקלוט בתוך מחרוזת אחת גדולה NAMES כתתי מחרוזות). ב. רשימת השמות ממוינות ע"פ אורכי התווים שלהם. נוסף על כך אשמח אם תוכלו לשלוח לי קישור לאתר פקסל מסויים ובו שאלות שונות לתרגול מצפה לתשובה, קובי.
 

kobyp2

New member
הבעיה היא כזאת

פתרתי את השאלה בחלקה ע"י פרוצדורת קליטה, מיון(ובתוכה פונקצית סידור מילוני) והדפסה... התוכנית לא כ"כ עובדת לי האיסיקיו שלי הוא 195439231 אשמח אם תתחבר אלי ונשוחח שם אודה לך מאוד, קובי
 

gmorphus

New member
זה לא עובד ככה כאן...

אתה רוצה עזרה, תראה את הקוד שלך, תסביר איפה הבעיות וננסה לעזור לך. אנחנו לא נותנים שיעורים פרטיים, ואנחנו לא עושים שיעורי בית לאנשים.
 

kobyp2

New member
טוב אז בעייתי היא כזאת

פתרתי כמעט את השאלה במלואה אבל יש לי בעיה קטנה Program BagrutExsercise(input,output); const max=80; num=5; type StringType=array[1..max] of char; NamesType=array[1..num] of StringType; LengthType=array[1..num] of integer; var names:NamesType; l:LengthType; i:integer; {------------------------------------------------------------} Procedure GetString(var name1:StringType;var l:integer); var ch:char; begin L:=0; writeln('Eanter name and in the end write *'); read(ch); while ch <> '*' do begin l:=l+1; name1[l]:=ch; read(ch); end; end;{GetString} {----------------------------------------------------------------} Procedure Swap (var name1:StringType; var name2:StringType); var Temp:StringType; begin Temp:=name1; name1:=name2; name2:=temp; end;{Swap} {------------------------------------------------------------------} Function LessThan(var name1,name2:StringType;L1,L2:integer):boolean; var k:integer; begin k:=1; while(k<L1) and (K<L2) and (name1[k]=name2[k]) do k:=k+1; if name1[k]<name2[k] then lessthan:=true else if (l1<l2) and (name1[k] = name2[k]) then lessthan:=true else lessthan:=false; end; {------------------------------------------------------------} procedure SortByDictionary(var names:NamesType; var l:integer); var index,j,Imin:integer; begin for index:=1 to l-1 do begin Imin:=index; for j:=I+1 to l do lessthan(names[j],names[Imin]); <---- הבעיה היא פה if lessthan=false then Imin:=J; Swap(names,names[Imin]) end end; {-------------------------------------------------------------} Procedure WriteString(name:StringType;l:integer); var index:integer; begin for index:= 1 to l do write(name[index]); end; {------------------------------------------------------------} begin for i := 1 to num do GetString(names,l); SortByDictionary(names,l); for i := 1 to num do writeln(names,l); WriteString(names,length); end. הבעיה מסומנת באמצע התוכנית אני לא יודע איך ממשיכים משם כאמור מטרת התוכנית שלי היא לסדר עשרה מחרוזות של שמות בתוך מחרוזת גדולה בשם NAMES ע"פ סדר מילוני מצפה לתשובה, קובי
 

gmorphus

New member
אה בטח למה לא...

למה אתה חושב שאני עומד לקרוא את כל הקוד הזה ששמת פה? שים רק את הקוד הרלוונטי ותגיד בדיוק מה הבעיה. וחוץ מזה תיישר אותו לשמאל באמצעות [תחילת קוד] ו[סיום קוד] שנמצאים מתחת לחלון כתיבת ההודעה.
 
למעלה