Lab 4

  • November 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Lab 4 as PDF for free.

More details

  • Words: 386
  • Pages: 8
‫תכנות ויזואלי ואינטרנט‬

‫שיעור ‪ – 4‬מערכים‬

‫מערכים‬ ‫‪‬‬

‫‪‬‬

‫מערכים הינם בלוקים של תאי זיכרון רציפים בעלי שם‬ ‫אחיד וטיפוס זהה‪.‬‬ ‫כדי לגשת לתא ספציפי במערך‪ ,‬אנו נשתמש בשם‬ ‫הכללי של המערך ובתיאור המיקום של אותו התא‬

‫הגדרת מערך‬ ‫‪‬‬ ‫‪‬‬

‫כדי להגדיר מערך של ‪ int‬בגודל ‪ 5‬נכתוב‪:‬‬ ‫‪:Syntax‬‬ ‫‪; }int [] MyArray = new int [5] }1,22,5,-27,178‬‬ ‫גודל‬ ‫השמת‬ ‫ערכים‬ ‫ראשוניים‬

‫שם‬

‫הקצאת מקום‬ ‫בזיכרון‬

‫‪178‬‬

‫‪27-‬‬

‫‪5‬‬

‫טיפוס‬ ‫סימון של‬ ‫רב איברים‬

‫‪22‬‬

‫‪1‬‬ ‫‪MyArray‬‬

‫הגדרת מערך ‪ -‬המשך‬ ‫‪‬‬

‫ישנם אפשרויות נוספות להגדרת מערך‪:‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬

‫‪;[int[] arr1 = new int[10‬‬ ‫‪;int[] arr2‬‬ ‫‪;[arr2 = new int[20‬‬ ‫‪‬‬ ‫‪‬‬

‫‪‬‬ ‫‪‬‬

‫במערך ‪ arr1‬הגדרנו מערך והקצנו לו ‪ 10‬מקומות‪.‬‬ ‫מערך ‪ arr2‬הוגדר בשורה נפרדת‪ ,‬ובשורה לאחר מכן אנו מקצים לו‬ ‫‪ 20‬מקומות‪.‬‬

‫‪;} int[] arr3 = new int[] }1, 2, 3, 4, 5‬‬ ‫‪;} int[] arr4 = } 1, 2, 3, 4, 5‬‬ ‫‪‬‬

‫בדוגמה זו ‪ 2 ,‬השורות זהות בתפקודן‪.‬‬

‫אינדקסים במערך‬ ‫‪‬‬

‫‪‬‬

‫לכל תא במערך יש אינדקס שמתאר את מיקומו ביחס‬ ‫לתחילת המערך‪.‬‬ ‫האינדקס הראשון במערך הוא תמיד ‪.0‬‬

‫]‪[4‬‬

‫]‪[3‬‬

‫]‪[2‬‬

‫]‪[1‬‬

‫]‪[0‬‬

‫‪178‬‬

‫‪27-‬‬

‫‪5‬‬

‫‪22‬‬

‫‪1‬‬ ‫‪arr‬‬

‫קריאה וכתיבה למערך‬ ‫‪‬‬

‫‪‬‬

‫‪‬‬

‫ניתן לגשת לכל תא במערך על מנת לקרוא את ערכו‬ ‫או לשים ערך בתא כלשהו‪ .‬יש לשים לב שלא ניתן‬ ‫לפנות לתא במערך שאינו קיים!‬ ‫כדי לגשת לאיבר כלשהו במערך נשתמש בשם‬ ‫המערך ובאינדקס של אותו האיבר‪.‬‬ ‫לדוגמא‪:‬‬ ‫‪;MyArray[2] = 10 //‬השמת ערך לתא‬ ‫‪;))(MessageBox.Show)MyArray[6].ToString//‬‬ ‫‪//‬קריאה מתא‬

‫מערך דו מימדי‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬

‫‪‬‬ ‫‪‬‬

‫מערך דו‪-‬מימדי הינו למעשה‪ ...‬טבלה‪.‬‬ ‫‪:Syntax‬‬ ‫‪type [,] name = newtype;}}[,] }}1,2}, }3,4}, }5,6}, }7,8‬‬ ‫‪ – type ‬סוג המערך (‪)…int, float, double‬‬ ‫‪ ‬אפשרות נוספת להגדרת מערך דו מימדי‪:‬‬ ‫;‪const int N=5‬‬ ‫הגדרת מטריצה בגודל ‪int[,] myArray = new int [N,N]; // N*N‬‬ ‫דוגמא‪:‬‬ ‫‪.;}}int[,] arr1 = new int[,] }}1,2}, }3,4}, }5,6}, }7,8‬‬ ‫‪ ‬למעשה הגדרנו מטריצה בגודל ‪.2x4‬‬

‫]‪[0,1‬‬

‫‪2‬‬

‫‪1‬‬

‫]‪[0,0‬‬

‫]‪[1,1‬‬

‫‪4‬‬

‫‪3‬‬

‫]‪[1,0‬‬

‫]‪[2,1‬‬

‫‪6‬‬

‫‪5‬‬

‫]‪[2,0‬‬

‫]‪[3,1‬‬

‫‪8‬‬

‫‪7‬‬

‫]‪[3,0‬‬

‫מערך דו מימדי ‪ -‬המשך‬ ‫‪‬‬

‫דוגמה לשימוש במערך דו מימדי – לוח הכפל‪:‬‬

‫הגדרת המערך‪int[,] arr = new int [4,3]; //‬‬ ‫‪int i, j ;//counters‬‬ ‫מעבר על שורות ‪for ) i=0 ; i<4 ; i++( //‬‬ ‫מעבר על עמודות ‪for )j=0 ; j<3 ; j++( //‬‬ ‫השמת ערכי לוח הכפל במערך‪arr [i, j] = i * j ;//‬‬

‫‪‬‬

Related Documents

Lab 4
April 2020 9
Lab 4
November 2019 17
Lab 4
June 2020 2
Lab 4
June 2020 2
Lab 4
June 2020 9
Lab 4
December 2019 7