Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 9

‫מיון בועות למערך דו מימדי‬

‫חיפוש בינארי על מערך חד מימדי‬

‫מיזוג של שני מערכים ממויינים מראש‬

‫רקורסיה – מציאת איבר מקסימלי‬


‫משתנים מיוחדים‬

‫‪#define LENGTH‬‬ ‫‪= 10‬‬


‫משתנים קבועים‬
‫‪; const‬‬
‫‪int‬מקומי‬
‫‪ num‬וגם‬
‫‪5 -Const‬גם=גלובלי‬

‫מאותחל בתחילה ואז שומר על ערכו גם כאשר יוצאים‬


‫מהפונקציה חי לכל אורך התוכנית‬
‫‪static‬‬

‫כל מספר חוץ מ‪True =0‬‬

‫‪bool‬‬ ‫רק אפס – ‪False‬‬

‫המרות‬

‫‪; Int a = 5‬‬


‫‪;Double b = 3.6‬‬
‫‪; a = (int) b‬‬

‫**חשוב בהמרה מ ‪ char‬ל‪ int‬ולהפך ההמרה תתבע על ידי טבלת האסקי‬


‫מחרוזות‬

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

‫השוואה בין מחרוזות היא השוואה‬


‫לקסיקוגרפית )ולא לפי אורך המילה(‪.‬‬

‫חיבור בין שתי מחרוזות למחרוזת אחת‬

‫;”‪char a[10] = “Bob‬‬


‫קבלת גודל המחרוזת‬
‫‪int length = strlen(a); // length=3‬‬

‫)‪char* substr(char* arr, int begin, int len‬‬ ‫פונקציה שמקבלת מחרוזת של תווים ‪ .‬ומחזירה את המחרוזת‬
‫{‬ ‫שנמצאת בטווח האינדקסים‪.‬‬
‫;]‪char* res = new char[len‬‬
‫)‪for (int i = 0; i < len; i++‬‬ ‫לדוגמא ]‪=dogcatpig"" char a[20‬‬
‫{‬
‫;)‪res[i] = *(arr + begin + i‬‬ ‫המספר שנכניס )‪substr(a, 0, 3‬‬
‫}‬ ‫יוחזר ‪dog‬‬
‫;‪res[len] = 0‬‬
‫;‪return res‬‬
‫}‬
‫מצביעים‬

‫אופרטור * ‪-‬‬ ‫‪‬‬


‫בהצרה מסמל פוינטר – מצביע ‪; int * a = &s‬‬
‫אחרי ההצהרה מאפשר לקבל את הערך שנמצאת בכתובת של אותו מצביע ‪.‬‬
‫‪;Int t = *a‬‬
‫אופרטור & ‪-‬‬ ‫‪‬‬
‫נותן כתובת המשתנה‬

‫מצביעים – מציאת גודל מערך‬

‫הקצאה דינמית‬

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

‫; ‪Int size‬‬
‫;‪cin << size‬‬
‫הקצאה דינמית למערך על ידי פונקציה‬
‫דברים חשובים‬

‫מעבר דו מימדי לחד מימדי‬ ‫‪‬‬


‫חשיבה על דרך לפתור רקרוסיה – פיצול לתנאי עצירה ושאר הפונקציה‪.‬‬ ‫‪‬‬
‫מיון מונים‬ ‫‪‬‬
‫שימוש נכון באינדקסים – מספר אינדקסים על אוביקטים שונים‪.‬‬ ‫‪‬‬
‫הוספת קליטת מחרוזת ‪ -‬משפט שלם ‪.‬‬ ‫‪‬‬
‫חוקיות של אלכסון במערך‪ ,‬שחמט ‪ ,‬שורות וטורים‬ ‫‪‬‬
‫טבלת האסקי‪ -‬ידע בהמרת אות קטנה לגדולה ‪ ,‬ממספר לתו וההפך‪.‬‬ ‫‪‬‬
‫הכרת כל האופרטורים שיש – ‪,!,-,+,/,%,&,==,=,‬‬ ‫‪‬‬
‫ידע לבנות פונקציות מתמטיות כגון עצרת ‪ ,‬חזקה‪.‬‬ ‫‪‬‬
‫שימוש נכון בלולאות ‪for while‬‬ ‫‪‬‬
‫העברת משתנה ‪by reference , by value‬‬ ‫‪‬‬
‫סדרות חשבונאיות‬ ‫‪‬‬
‫‪‬‬
‫נוסחה לסדרה חשבונית‬

‫העברת משתנה ‪by reference , by value‬‬

‫במקרה שנרצה להשתמש בערכי של אובייקט בלבד‬


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

‫במקרה שנרצה להשתמש בערכי של‬


‫אובייקט ולשנות אותם במיקום המקורי‬
‫נשתמש ‪)&( by reference‬‬
‫בדוגמא משמאל יש שינוי של הערכים‬
‫שנשלחים לפונקציה במיקום המקורי‬
‫בזכרון‬

‫מערכים חוקיות חשובה‬

‫שחמט‬ ‫אלכסון‬
‫‪(0==%2‬מספר שורה‪ +‬מספר עמודה)‬ ‫(מספר שורה‪ +‬מספר עמודה) = גודל המערך‬
‫טבלת האסקי‬

‫*תווים חשובים – אפס ‪,a , z , Z A,‬‬


‫המרה מ ‪ a‬ל‪ A‬גדולה‬

‫בהנחה שהתו הוא אות הורדה או‬


‫הוספה של ‪ 32‬משנה את סימן אות ‪.‬‬
‫הסתכלו בטבלת האסקי‬

‫מערך מונים‬

‫;} ‪int arr[16] = { 1,5,2,8,4,1,1,3,5,6,6,6,6,6,4,2‬‬


‫איפוס כל התאים ל‪int counters[size(arr)] = { 0 }; // 0‬‬

‫)‪for (int i = 0; i < size(arr); i++‬‬


‫{‬
‫ההעלאת האינדקס ב‪ 1‬כאשר האינדקס שווה לערך התא‪counters[arr[i]]++; //‬‬
‫}‬

‫)‪for (int i = 0; i < size(counters); i++‬‬


‫{‬
‫)‪while (counters[i] > 0‬‬
‫{‬
‫הדפסת המערך המסודר‪cout << i; //‬‬
‫הורדה של כמות הפעמים שהמספר מופיע ‪counters[i]--; //‬‬

‫}‬
‫}‬

‫פונקציית עצרת וחזקה‬

You might also like