ערכתי לאחרונה בתאריך 10.12.03 בשעה 20:28 בברכה, BasketBoy
אחים שלי אני צריך בבקשה עזרה בתרגיל הבא בפסקל, אני צריך להגיש אותו ביום ראשון ואני לא מצליח, ניסיתי כמה פעמים:
הנה התרגיל:
ריבוע לטיני הוא מערך של n*n שמכיל מספרים מ1..n כך שמספר כלשהו לא מופיע יותר מפעם אחת בשורה או בעמודה
דוגמא לריבוע לטיני:
1 2 3 4
2 3 4 1
3 4 1 2
4 1 2 3כתוב תוכנית הבודקת אם מטריצה 5*5 .
הנה מה שניסיתי :
program riboa_latini; uses wincrt; const n=5; var i,j,x,z:integer; a:array of integer; found:boolean;begin randomize; for i:=1 to n do for j:=1 to n do a:=random (100) +1; writeln(' המספרים שנבחרו הם '); for i:=1 to n do begin for j:=1 to n do write(a:4); writeln; end; found:=true; i:=1; while (found=true) and (i<=n) do begin j:=1; while (found=true) and (j<=n) do begin x:=1; while (a<>a) and (x<=n) do x:=x+1; if a=a then found:=false; z:=1; while (a<>a) and (z<=n) do z:=z+1; if a=a then found:=false; j:=j+1; end; i:=i+1; end; if found=true then writeln(' ריבוע לטיני') else writeln(' לא ריבוע לטיני'); end.
|
ד"א קראתי את האשכול על זה שלתת לאנשים לפתור לבד
אבל ניסיתי כמה פעמים ולא הולך לי...
אשמח אם תסבירו לי את הטעויות...
תודה ענקית מראש !
בברכה,
אלון.