פורסם 2005 בדצמבר 1819 שנים אני צריך את התשובה עד הבוקר, אז אם יש מישהו שיכול לבדוק את התרגיל ולתת לי תשובה כמה שיותר מהר אני אשמח.התוכנות של הפסקל במחשב שלי לא עובדות( dev pascal ו turbo pascl) לא יודע למה ואין לי זמן לבדוק למה.אני צריך שתאשרו לי האם הפתרונות שכתבתי נכונים:1) כתוב פונקציה רקורסיבית המקבלת מערך וגודל המערך ומחזירה את האיבר הגדול במערך.הפתרון שלי:function f(a:vec; n:integer);beginif n=1 then f:=a[n]else if a[n]>f(a,n-1) then f:=a[n];end;2) כתוב פונקציה רקורסיבית המקבלת מערך, גודל המערך ומספר נוסף, ומחזירה כמה אברים במערך גדולים מהמספר הנוסף.הפתרון:function f(a:vec; n,x:integer);beginif n=1 then if a[n]>x then f:=1 else f:=0else if a[n]>x then f:=1+f(a,n-1,x) else f:=0+f(a,n-1,x);end;תודה.נ.בל-2 עשיתי טבלת מעקב ויצא לי בסדר, בקשר ל-1 אני לא בטוח אם הכתיבה נכונה.
פורסם 2005 בדצמבר 1819 שנים בהנחה שב PASCAL המערכים מתחילים ב 1 (כבר לא זוכר)...בכל מקרה, בתוכנית 1 יש לך בעיה, F לא תמיד יחזיר ערך (ב IF השני אם A[N] קטן/שווה מ F).. תכניס את התוצאה של F(A,N-1) למשתנה, ותבדוק מולו ותחזיר אותו אם צריך..
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.