פורסם 2007 בנובמבר 3018 שנים דוגמא עבור N זוגי: דוגמה עבור N אי זוגי: 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 עבור כל מערך דו מימדי ריבועי n*n כתוב מתודה שבודקת האם המערך הנ"ל יש לו יהלום עם אפסים בלבד , ללא התחשבות בשאר ערכי המערך . אם אפשר כיוון \אלגוריתם \ עצה לפתירה , תודה .
פורסם 2007 בנובמבר 3018 שנים תנסה למצוא את האיפיון המתמטי של התאים שבהם יש 0, לפי האינדקסים.לי יקח קצת זמן לחשוב על זה. אני אנסה לפתור את זה
פורסם 2007 בנובמבר 3018 שנים לא הבנתי למה התכוונת... אתה צריך מתודה שמציירת את היהלום לתוך מערך ריבועי בגודל n*n?בניתי תוכנה כזאת ב-JS, אז אני אצרף את הקוד שלה לפה:{ var i=1, j=1, y=1, x=הגודל, z=התו המבוקש; for(y=1; y<(2*(x+1)) ;y=y+2) { if(y<=x) { for(i=1; i<=(x-y)/2; i++) { document.write("<font color=white face=arial>"+z+"</font>"); } for(j=1; j<=y; j++) { document.write("<font face=arial>"+z+"</font>"); } } else if (y>x) { if(y!=2*x+1) { for(i=1; i<=(y-x)/2; i++) { document.write("<font color=white face=arial>"+z+"</font>"); } for(j=1; j<=((2*x-y)); j++) { document.write("<font face=arial>"+z+"</font>"); } } } document.write("<br>"); }}function draw()איפה שיש את הפקודה "Color=White" אמור להיות רווח (משום מה ב-JS אין אפשרות לכתוב רווחים, לפחות לפי מה שאני יודע). אם אתה רוצה יהלום ריק תחליף את השורות האלה:{ document.write("<font face=arial>"+z+"</font>");}for(j=1; j<=y; j++)באלה:for(j=2; j<y; j++){ document.write("<font color=white face=arial>"+z+"</font>");}document.write("<font face=arial>"+z+"</font>");document.write("<font face=arial>"+z+"</font>");ואת השורות האלה:{ document.write("<font face=arial>"+z+"</font>");}for(j=1; j<=((2*x-y)); j++)באלה:for(j=2; j<((2*x-y)); j++){ document.write("<font color=white face=arial>"+z+"</font>");}document.write("<font face=arial>"+z+"</font>");document.write("<font face=arial>"+z+"</font>");
פורסם 2007 בנובמבר 3018 שנים מחבר קצת לא הבנתי את הקוד שלך , השאלה היא כזאת עבור כל מערך דו מימדי כלשהו n*n צריך לכתוב מתודה שתבדוק האם במערך כשלהו יש יהלום של אפסים בצורת יהלום כפי בתגובה הראשונה שלי .
פורסם 2007 בנובמבר 3018 שנים במערך יש כבר מספרים (נניח 1 לנקודה שתסומן בצבע, ו-0 לנקודה ריקה), ואתה צריך לבדוק אם הם מסודרים בצורה של יהלום?
פורסם 2007 בנובמבר 3018 שנים הכי פשוט לדעתי יהיה להתייחס לכל רבע של המערך בנפרד ולבדוק אותו.למשל, עבור הרבע השמאלי העליון אתה מתחיל בתא בטור הראשון (טור 0) ובשורה n/2-1 ובכל איטרציה מגדיל את הטור ב 1 ומקטין את השורה באחד עד שהגעת לשורה הראשונה. אם כל התאים האלה היו 0 אתה ממשיך לרבע הבא. למשל עבור הרבע הימני העליון, אתה מתחיל בתא בשורה הראשונה בטור n/2 ובכל איטרציה אתה מגדיל את הטור באחד ואת השורה באחד עד שהגעת לאמצע. ככה אתה בודק כל רבע בנפרד ומחזיר את התוצאה בהתאם.כדי שהמתודה תתאים גם ל n זוגי וגם וגם לאי זוגי, אתה יכול לעגל את n/2 למעלה או למטה (בעזרת ceil ו floor) בהתאם לצורך.לדוגמה, עבור n=6 התוצאה של n/2-1 היא 2 (ואז אתה בודק את המקומות 0,1,2). עבור n=7 אם תעגל את 7/2 למעלה תקבל 4 ותחסר אחד תקבל 3 (ואז אתה בודק את המקומות 0,1,2,3). עבור n/2, עבור n=6 תקבל 3 (ואז אתה בודק את המקומות 3,4,5). עבור n=7, אם תעגל את n/2 למטה תקבל 3 (ואז אתה בודק את המקומות 3,4,5,6).
פורסם 2007 בנובמבר 3018 שנים מחבר במערך יש כבר מספרים (נניח 1 לנקודה שתסומן בצבע, ו-0 לנקודה ריקה), ואתה צריך לבדוק אם הם מסודרים בצורה של יהלום? כן , המערך כבר מלא במספרים או null וצריך לבדוק רק את האפסים , כלומר צריך לראות האם יש יהלום של אפסים כפי הציור למעלה . הכי פשוט לדעתי יהיה להתייחס לכל רבע של המערך בנפרד ולבדוק אותו. רעיון מצוין ופשוט אני אבדוק , אם אני אתקשה אני אודיע לכם .
פורסם 2007 בנובמבר 3018 שנים אני לא יודע JAVA, אבל אני חושב שתוכל להבין את הקוד הבא (שהוא מן הסתם לא כתוב ב-JAVA):{ int i=1, j=1, y=1, x={size}; int a=1; for(y=1; y<(2*(x+1)) ;y=y+2) { if(y<=x) { for(i=1; i<=(x-y)/2; i++) { if (array[(y-1)][i-1]!=null) { a=0; } } if (array[(y-1)/2][i-1]!="0") { a=0; } for(j=i+1; j<y; j++) { if (array[(y-1)/2][j-1]!=null) { a=0; } } if (array[(y-1)/2][j-1]!="0") { a=0; } } else if (y>x) { if(y!=2*x+1) { for(i=1; i<=(y-x)/2; i++) { if (array[(y-1)/2][i-1]!=null) { a=0; } } if (array[(y-1)/2][i-1]!="0") { a=0; } for(j=i+1; j<=((2*x-y)); j++) { if (array[(y-1)/2][j-1]!=null) { a=0; } } if (array[(y-1)/2][j-1]!="0") { a=0; } } } } if (a==1) { //הצורה היא יהלום } else { //הצורה היא לא יהלום }}function check()סוגריים מרובעים ("[ ]") מסמנים שזה מערך (הראשונים לאינדקס הראשון והשניים ואינדקס השני).אל תהססו להעיר אם אתם מוצאים טעות.אודי, אם אתה לא מבין משהו - תשאל.
פורסם 2007 בנובמבר 3018 שנים מחבר תודה בן וקובי התרגיל נפתר חילקתי את המעויין ל 4 כעצת קובי ומשם הדרך היתה קצרה . תודה
פורסם 2007 בנובמבר 3018 שנים רגע, קובי, מה אמור לקרות במצב כזה :s05: 0 0 0 0 0 0 0 0 0 0מה שכתבת בודק רק אם יש את השלד הבסיסי של יהלום - אבל לא אם היהלום "מלוטש", או מושלם.
פורסם 2007 בדצמבר 118 שנים בפוסט הראשון הוא כתב "ללא התחשבות בשאר ערכי המערך" אז שאר המקומות במערך לא רלבנטיים בשבילו, רק היהלום עצמו.
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.