עצה 1: כיצד ליצור מערך
עצה 1: כיצד ליצור מערך
מערכים הם אחד הפשוטה ו,אולי את הטופס הנפוץ ביותר של אחסון נתונים מובנים בעת עיבוד מידע בתוכניות מחשב. היתרון העיקרי שלהם הוא האפשרות של גישה מהירה מאוד אלמנט על ידי המספר הסידורי שלה (אינדקס). ניתן ליצור מערך ב- C ++ במספר דרכים.
יהיה עליך
- - עורך טקסט;
- - C + + מהדר.
הוראות
1
צור מערך של גודל קבוע. הצהרתה אמורה להכיל את סוג מידות משתנות מזהה ערך וכמויות מציין מפרט של אלמנטים. לדוגמה, מערך חד-ממדי של מספרים שלמים המורכב עשרה אלמנטים שניתן להגדירה: int aNumbers [10] באופן דומה, אפשר ליצור מערכים רב-מימדיים: INT aNumbers [3] [4] כדי לאתחל משתנים אלו יכולים להשתמש במערך ליטרלים: int aNumbers_1 [10] = {1, 2, 3}; int aNumbers_2 [3] [3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}} שים לב שמספר האלמנטים-מאתחל מערך המילולי עשוי להיות פחות מאשר משתנה אותחל שלהם. במקרה זה, חלק מהאלמנטים של המערך, המקבל פשוט לא יוקצה ערך.
2
יצירת מערך, נפח אשר נקבע על ידי אתחול מילולי. קבע מערך מבלי לציין את גודלו. מערכים, המוגדר בדרך זו, להיות בטוחיש לאתחל: int aNumbers [] = {1, 2, 3}, באותו אופן, ניתן ליצור מערכים רב ממדיים. עם זאת, רק אחד, הממד הראשון, מותר להיות "משתנה": int aNumbers [] [3] = {1,2,3}, {4,5,6}, {7,8,9}, {0, 1, 2}}, בדרך זו, נוח מאוד להגדיר מערכים קבועים סטטיים. נפח שלהם יכול להיות מחושב בשלב קומפילציה באמצעות הגודל של מילת מפתח.
3
יצירת מערך בהקצאה דינמיתזיכרון. הגדר מצביע לערך של סוג האלמנט של המערך. בחר את הזיכרון עבור כמות הנתונים הנדרשת. הקצה את הערך של הכתובת של הבית הראשון של הבלוק שנבחר אל המצביע. השתמש בפונקציות הקצאת ספריית C (Calloc, malloc), מפעיל C + + חדש או פונקציות ספציפיות לפלטפורמה (כגון VirtualAlloc, VirtualAllocEx ב- Windows). לדוגמה: int * paNumbers_0 = (int *) malloc (sizeof (int) * 10), int * paNumbers_1 = int חדש (10); paNumbers_0 [1] = 0xFF; // גישה אל האלמנט paNumbers_1 [2] = 0xFF; // גישה אל האלמנט לאחר סיום השימוש במערכים שנוצרו בדרך זו, יש צורך לשחרר את הזיכרון שהוקצה: חינם (paNumbers_0), למחוק [] paNumbers_1;
4
יצירת אובייקט של המחלקה המיישמת את הפונקציונליותמערך. שיעורים דומים או תבניות בכיתה נמצאים במסגרות וספריות פופולריות רבות. אז, בספריה סטנדרטית של C + + תבניות (STL) יש std מכולה :: וקטור. ניתן ליצור ולהשתמש במערך על בסיס זה כדלקמן: std :: וקטור <int> oVector; // הצהרה של אובייקט מערך oVector.resize (10); / / resize arrayVoctor [0] = 1; // גישה אל elementVector.push_back (0xFF); / / הוספת אלמנט בסוף יש לציין כי בגלל ניהול זיכרון אוטומטי וזמינות של שיטות שינוי נוח (שינוי גודל, הוספת רכיבים וכו '), שימוש שיעורים אלה הוא לעתים קרובות יותר מתאים מאשר באמצעות מערכים בסגנון C .
טיפ 2: כיצד ליצור מערך רכס
בדרך כלל, RAID-מערכים נועדו לשפר את רמת אבטחת המידע. לעתים קרובות אני משתמש בהם במפעלים מסחריים, שם חשוב מאוד לא לאבד תיעוד או נתונים אחרים.
יהיה עליך
- בקר RAID.
הוראות
1
ישנם מספר סוגים של מערכי RAID. לכולם יש יתרונות משלהם. במקביל, כדי ליצור סוג מסוים של מערך, אתה חייב להיות המספר הנכון של כוננים קשיחים. ראשית, לקבוע את המטרה של יצירת מערך RAID. בהשלמת מסקנות אלה, לקבל את הכמות הנכונה של כוננים קשיחים.
2
אם לוח האם שלך תומךהגדרת הדיסקים במערך RAID, ולאחר מכן פשוט לחבר את הדיסקים הקשיחים שנבחרו אליו. אחרת, מומלץ להשתמש בקרי RAID מיוחדים, אשר מאפשרים לך ליצור ולהגדיר את המתאים מערכים.
3
אם תחליט ליצור מערך RAID עם תצוגהלהגדיל את ביצועי המחשב, ולאחר מכן להשתמש בסוג RAID 0. במקרה זה, אתה צריך לפחות שני דיסקים קשיחים. זכור כי הנפח הכולל שלהם יהיה שווה לנפח של כונן קשיח קטן יותר. במקרה זה, מומלץ לחבר כל כונן קשיח לחריץ נפרד של IDE.
4
אם אתה צריך להבטיח את הבטיחות של חשובקבצים, ולאחר מכן לבחור את סוג מערך RAID 1. במקרה זה, את המידע מהכונן הקשיח הראשי יועתקו כל העת ל"מראה "שלה. אם אחד הכוננים הקשיחים נכשל, אז כל הנתונים המאוחסנים בו לא יאבדו. כמו בדוגמה הקודמת, אתה רק צריך שני כוננים קשיחים.
5
אם יש לך הזדמנות להשתמש ארבעהכונן קשיח כדי ליצור מערך RAID, ולאחר מכן בחר סוג RAID 0 + 1 מעורב. אפשרות זו של פעולה סינכרוני של כוננים קשיחים מאפשרת לך לשפר בו זמנית את ביצועי המערכת ולשמור את הנתונים הדרושים. לאחר חיבור מספר הדיסקים הנכון, הפעל את המחשב ופתח את תפריט ה - BIOS.
6
עבור אל התפריט שאחראי על הפרמטרים של העבודהכוננים קשיחים. בשדה IDE Mode (SATA Mode), בחר באפשרות RAID. הקש על מקש F10. לאחר הפעלת המחשב, יופיע חלון שינחה אותך ליצור מערך. בחר את סוג RAID שאתה צריך ולחץ על הלחצן יצירה, ציון המטרה של כל כונן קשיח.
עצה 3: כיצד ליצור מערך דינמי
קבוצה בשם של אלמנטים דומים נקרא מערך של. לארגון נתונים זה יש מסהיתרונות ברורים וחסרון אחד - בעת יצירת מערך, יש להכריז על גודלו מראש, אשר בעתיד לא ניתן לשנות באמצעים קונבנציונליים. הפתרון לבעיה זו הוא לפתח מערכים דינמיים שיכולים לשנות את מספר האלמנטים שלהם בכל עת. ובשביל זה אתה יכול להשתמש גם את המעמדות שנוצרו כבר, וליישם את עצמך באמצעות כלי שפת תכנות סטנדרטיים.
הוראות
1
המהות העיקרית של המערך הדינמי היאהקצאת זיכרון תחת הנתונים המאוחסנים בו בדיוק את הסכום שבו הוא נחוץ כרגע. זה הכי נוח ליישם את הבנייה בצורה של מחלקה - פגז למערך. יש צורך לספק את כל הפונקציות המבצעות את ההקצאה ושחרור הזיכרון למערך, כמו גם מפעילים המספקים גישה לאלמנטים שלה.
2
יצירת אובייקט של המעמד בכיתה דינמיהבנאי מקצה באופן אוטומטי את הזיכרון של הגודל שצוין. אם המערך מלא, הזיכרון עבור האלמנטים יהיה מלא, כאשר הנתונים הבאים מתווסף, הפעולות הבאות מבוצעות: - כל המידע מהמערך מאוחסן האחסון הזמני (מערך עזר) - זיכרון שהוקצה בעבר משוחרר על ידי פקודה מיוחדת (חינם, למחוק) תחת מערך של הגודל הנדרש כדי להכיל את כל הנתונים - כל הערכים "הישן" ממוקמים במערך החדש מן האחסון הזמני ו נוסף אלמנט חדש.
3
הדרך הטובה ביותר לעבוד עםמערכים דינמיים הם השימוש בשיעורי הספרייה הקיימים. אחת הדוגמאות הנפוצות ביותר היא וקטור בכיתה. הוא כולל את כל הפונקציות ואת איטראטורים הדרושים לתפקוד של המערך המשתנה. ואת מודול הספרייה המכיל את הכיתה מגיע עם כל גירסה של המהדר C + +.
4
חיבור ספריית מערך דינמי עםבאמצעות הפקודה #include. כדי ליצור אובייקט, השתמש בכיתה וקטורית. מעבר במערך הוא כמו במקרה הרגיל, באמצעות אינדקסים. תכונות מיוחדות הן הפונקציות של הוספה והסרה של אלמנטים חדשים, כמו גם מספר שיטות עזר.דוגמא של קוד ליצירת והפעלה של וקטור מערך דינמי: #include וקטור, וקטור Int Mass; // להכריז על מערך דינמי עם אלמנטים מסוג intMas.push_back (10); / / להוסיף את האלמנט הראשון - מספר 10 Mas.push_back (15); / / להוסיף את האלמנט השני - מספר 15Mas [1] = 30; / / אלמנט השני נכתב עם מספר 30Mas.pop_back (); / / למחוק את האלמנט האחרון של המערך כאן, בעת יצירת מערך דינמי עם השם Mass, חובה לציין את סוג האלמנטים שלה (int), הממד במקרה זה לא צוין.
טיפ 4: כיצד להזין מערך
מערכים הם צורה פשוטה ויעילהאחסון מסודר של נתונים. הם משמשים כמעט בכל תוכנית מחשב. ברוב המקרים, המידע בהם נוצר במהלך המבצע של היישום. אבל לפעמים אתה צריך להיכנס למערך על ידי קבלת נתונים ממקור אחד או אחר.
יהיה עליך
- - עורך טקסט או IDE;
- - C + + מהדר.
הוראות
1
הזן את המערך על ידי בקשת נתונים מהמשתמש. לחשב או לשאול את מספר הפריטים שברצונך להזין. צור מערך של הגודל הנדרש. הוסף לולאה כדי לחזור דרך קוד התוכנית עבור כל האלמנטים. במחזור, שאילתה את הנתונים עבור כל רכיב, אם יש צורך, לאמת את הנכונות של הקלט.אמצעים שונים ניתן להשתמש כדי לבצע הזנת נתונים. שימוש scanf ו wscanf פונקציות של ספריית C היא דרך קלאסית. עם זאת, פונקציות אלה אינן בטוחות. אם החיץ גולש, עלולה להתרחש שגיאת הגנה. C + זורם לספק קלט נוח ובטוח, אבל הם גם לא נטול פגמים. הדוגמה הפשוטה ביותר למילוי מערך באמצעות אובייקט זרם קלט רגיל עשויה להיראות כך: int aNumbers [10]; עבור (int i = 0; i <10; i ++) {std :: cout
2
הזן מערך מהקובץ. השתמש בפונקציות הקלט המעוצבות (fscanf, fwscanf) ואובייקטים של פתילים (לדוגמה, ifstream) כדי ליישם אלגוריתמים לקריאה פשוטה. לעקוב אחר שגיאות קלט באמצעות שיטות רע, להיכשל, טוב, rdstate במקרה של שימוש פתילים. דוגמה פשוטה לקריאת נתונים מקובץ עשויה להיראות כך: int aNumbers [10]; std :: ifstream oFileStream ("filename.txt"); אם (i = 0; (i <10) & oFileStream.good (); i + +) oFileStream >> aNumbers [i];} אחר std :: cout
3
הזן את המערך ישירות לתוך קוד התוכנית בצורה של נתונים סטטיים. השתמש אותיות מערך לאתחל את המשתנים המתאימים. לדוגמה, מערך של ערכי int של אורך לא מוגדר שהוא חבר סטטי של הכיתה, כפי שהוכרז: Class CMyClass {... static const int m_anMyArray []; ...}, יש לאתחל את הדברים הבאים: Const int :: CM_CM :: [m_anMyArray [] = 10, 20, 30, 40} שיטה זו מאפשרת לך להזין מערכים של מבנים המורכבים בכל קוד המקור של התוכניות.