לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

לך אחורה   לובי הפורומים > מחשבים > תכנות ובניית אתרים
שמור לעצמך קישור לדף זה באתרי שמירת קישורים חברתיים
תגובה
 
כלי אשכול חפש באשכול זה



  #4  
ישן 02-10-2006, 23:14
צלמית המשתמש של ם_O
  משתמש זכר ם_O ם_O אינו מחובר  
 
חבר מתאריך: 15.08.06
הודעות: 465
בשביל זה יש לך
בתגובה להודעה מספר 1 שנכתבה על ידי טל חדד שמתחילה ב "איך אפשר להוסיף איבר למערך(ואיך להסיר לגמרי)?"

רשימות.
כמו כן, יש לך בספרייה הסטנדרטית וקטורים ורשימות (lists) שמטפלים בהקצאת זיכרון למטרות אלה בצורה נוחה...
בשביל להגדיר רשימה מקושרת חד כיוונית, תצהיר על מבנה שמכיל את כל המידע שאתה רוצה + מצביע לעצמו. תקצה זיכרון לעוגן, בצורה כזאת
קוד:
struct Mylist{ //All your data... struct Mylist *next_item }; struct Mylist *first_item; first_item=malloc(sizeof(struct Mylist)); if (!first_item) //that means the allocation has failed to accure... //...

בכל פעם שתרצה להוסיף איבר, תצטרך להקצות לו זיכרון בצורה דינאמית כנ"ל
עם וקטורים, תוכל לעשות משהו כזה
קוד:
//#include <vector>...
vector<Datatype> name(number of items); אתה פונה אל name[i] כמו שאתה מתייחס למערך..// אפשר לשנות את מס' האיברים כך// name.resize(size); חפש בגוגל על כל הפונקציות של המחלקה...//


כנ"ל, בCPP יש לך list
קוד:
//#include <list>... list<type> name; list.push_front(a); //a to the begining name.push_back(a); //a to the end list.insert(index, a); //inserts a before index...

כמובן שתמיד תוכל להקצות מקום בזיכרון למערך דינאמי, ולכתוב את ממשק העתקת המידע לבדך...
בC:
קוד:
Type *arr; if(!arr=(Type *)malloc(NumberOfItems*sizeof(Type))) { //if the allocation failed...}

תוכל להקצות זיכרון לגודל מערך החדש שאתה רוצה, לאתחל אותו באיברי המערך הקודם ואז למחוק את הקודם
נ.ב.
בCPP אתה מקצה עם pointer = new <datatype>...
לגבי מחיקה, בסי++ תשתמש ב
delete name
בC, תשתמש ב
free(pointername);

_____________________________________
Any sufficiently advanced bug is indistinguishable from a feature


נערך לאחרונה ע"י ם_O בתאריך 02-10-2006 בשעה 23:36.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #17  
ישן 04-10-2006, 21:11
  טל חדד טל חדד אינו מחובר  
 
חבר מתאריך: 30.06.05
הודעות: 147
שלח הודעה דרך ICQ אל טל חדד שלח הודעה דרך MSN אל טל חדד
מצתער אני לא מבין אותכם
בתגובה להודעה מספר 14 שנכתבה על ידי maxim k שמתחילה ב "*ביארן"

אני מתכנת ב C#
אני מנסה לפתח משחק סנייק שתמיד שהשחקן "שובר" את הנחש צריך להוסיף איבר למערך צעדי השבירה(בשביל להבין למה צריך להבין איך עובד האלוגיתרם)
כמו כן כאשר השחקן מתקדם ונקודת השבירה נעלמת(שוב צריך להבין איך זה עובד) האיבר הראשון אמור להעלם וכל שאר האיברים אמורים ללכת אחורה(כלומר האינדקס שלהם יורד ב1 והאיבר האחרון צריך להעלם)
כמובן שאפשר להשתמש ב colection אבל יש חשיבות לאינדקס ולמספר האיברים(שוב צריך להבין איך זה עובד)
הבעיות האלו תוקעות אותי באמצע
ואם ArrayList עובד ב C# מה זה?
אני עובד ב VISUAL STUDIO professenal 2005
תודה רבה לכל מי שיעזור
_____________________________________

[התמונה הבאה מגיעה מקישור שלא מתחיל ב https ולכן לא הוטמעה בדף כדי לשמור על https תקין: http://www.fresh.co.il/scripts/birthday.php?date=07/05/1993&.jpeg]


נערך לאחרונה ע"י טל חדד בתאריך 04-10-2006 בשעה 21:13.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

מזער את תיבת המידע אפשרויות משלוח הודעות
אתה לא יכול לפתוח אשכולות חדשים
אתה לא יכול להגיב לאשכולות
אתה לא יכול לצרף קבצים
אתה לא יכול לערוך את ההודעות שלך

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 23:53

הדף נוצר ב 0.06 שניות עם 10 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2024 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר