פורסם 2007 בנובמבר 318 שנים פונקציה שמקבלת מערך והופכת את סדר האיברים במערך כך שהאיבר שהיה במקום הראשון יתחלף עם האיבר האחרון וכך הלאה. לדוגמא:a: 5 8 9 2 4 1a: 1 4 2 9 8 5אין להשתמש במערך עזר...האלגוריתם שעשיתי מחליף לי רק בין 2 ל9 ואני לא מבינה למה:void Hipoh2(int *a){ int *p, *q; int i; for(i=0, p=a, q=a+(N-1); i<3 ; i++, p++, q--); { Swap(p,q); } Print(a);}במקרה שלי N שווה ל6
פורסם 2007 בנובמבר 318 שנים ככלל, אני ממליץ לשים פרמטר אחד בכל שדה של for, וככה לא מתבלבלים.בקיצור, אתה לא צריך יותר ממשתנה מונה אחד, שעובר מהתא הראשון, עד לתא האמצעי ביותר, וככה אתה מקבל את המיקום הראשון ואת המיקום האחרון (a[N-1-i]).void Hipoh2(int *a){ int i; for (i=0;i<N/2;i++) Swap(a[i], a[N-i-1]); Print(a);}הנחה: N=6 (או N הינו משתנה אינטגרלי גלובלי השווה לגודל מערך a)
פורסם 2007 בנובמבר 318 שנים אה... חחח. אני מסתכל שעה ולא מבין מה הבעיה.זה כל כך שטותי. תראה מה יש לך בסוף השורה של הFOR.
פורסם 2007 בנובמבר 318 שנים חחחח, צודק גם אני מסתכל שעה ולא מבין(-:, עלית על זה קצת לפני...תוריד את ה ;
פורסם 2007 בנובמבר 318 שנים מחבר אני צריכה לפתור את התרגיל הזה עם מצביעים... לא בדרך הפשוטה כמו שעשית
פורסם 2007 בנובמבר 318 שנים בעקרון מה שהוא עשה זה עם מצביעים...את יכולה לעשות +- אותו דבר, מצביע לסוף ולעבור עד החצי ולהחליף לפי אותו רעיון (אפשר גם מצביע להתחלה אבל אין טעם). מספיק עבודה עם מצביעים?
פורסם 2007 בנובמבר 318 שנים מחבר בעקרון מה שהוא עשה זה עם מצביעים...את יכולה לעשות +- אותו דבר, מצביע לסוף ולעבור עד החצי ולהחליף לפי אותו רעיון (אפשר גם מצביע להתחלה אבל אין טעם). מספיק עבודה עם מצביעים?זה מה שעשיתי (רשמתי בהודעה הראשונה) והוא החליף לי משום מה רק בין שני התאים האחרונים
פורסם 2007 בנובמבר 318 שנים מחבר הורדת את ה;? וואי נכון, ואני שעות יושבת על התרגיל הזה לא מבינה מה הבעיה תודה
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.