מבוא למדעי המחשב תרגול 8 - מחרוזות שעת קבלה : יום שני 11:00-12:00 דוא " ל :

Slides:



Advertisements
Similar presentations
ממיבחניםC שאלות ++.
Advertisements

מבוא למדעי המחשב לתעשייה וניהול
Sort the given string, without using string handling functions.
מבוא למדעי המחשב לתעשייה וניהול דוגמאות ותרגול נוסף במערך חד ממדי הרצאה 12.
Pointers הרצאה קריטית. השאלות הפתוחות מה זה ה- & שמופיע ב scanf מדוע כשמעבירים מחרוזת ל scanf אין צורך ב & האם ניתן להכריז על מערך שגדלו אינו ידוע בתחילת.
מבוא למדעי המחשב תרגול 2 שעת קבלה : יום שני 11:00-12:00 דוא " ל :
רקורסיות נושאי השיעור פתרון משוואות רקורסיביות שיטת ההצבה
תכנות תרגול 7 שבוע : מערכים עד היום התוכניות שלנו לא ידעו לשמור כמות גדולה של מידע ללא הגדרת כמות גדולה של משתנים. עד היום התוכניות שלנו לא.
תכנות תרגול 9 שבוע : הקשר בין מערכים למצביעים נרצה לעמוד על הקשר בין מערך למצביע מאחר ומערכים הם הכללה של משתנים הרי שברור שלמערך ולכל אחד מאיבריו.
תכנות תרגול 6 שבוע : חישוב e זוהי הנוסחא לחישוב e נראה כיצד לתרגם אותה לפונקציה n n.
תרגול 5 רקורסיות. רקורסיה קריאה של פונקציה לעצמה –באופן ישיר או באופן עקיף היתרון : תכנות של דברים מסובכים נעשה ברור ונוח יותר, מכיוון שזו למעשה צורת.
תכנות תרגול 4 שבוע : לולאות while לולאות while while (condition) { loop body } במקרה של קיום התנאי מתבצע גוף הלולאה ברגע שהתנאי לא מתקיים נצא.
עבודה סמינריונית Prelude to Ukkonen algorithm ON-LINE CONSTRUCTION OF SUFFIX TREES מגישים : עיד מוחמד טיבי פיראס.
תכנות תרגול 2 שבוע : שבוע שעבר כתבו תוכנית המגדירה שלושה משתנים מאתחלת אותם ל 1 2 ו 3 ומדפיסה את המכפלה שלהם את ההפרש שלהם ואת הסכום שלהם.
מבוא לשפת C חידות ונקודות חשובות נכתב על-ידי יורי פקלני. © כל הזכויות שמורות לטכניון – מכון טכנולוגי לישראל.
11 Introduction to Programming in C תרגול
מבוא כללי למדעי המחשב תרגול. הבית האדום כתובת : רחוב קוקוריקו 2 הבית הירוק כתובת : רחוב קוקוריקו 4 הבית הצהוב כתובת : רחוב קוקוריקו 1 הבית הורוד כתובת.
תכנות תרגול 9 שבוע : מערכים int a; a=5; int a[10]; a[2] = 5; 5 a a[0] a[1] a[2] a[9]  5 משתנה בודד מערך גישה למשתנה השלישי במערך.
11 Introduction to Programming in C - Fall 2010 – Erez Sharvit, Amir Menczel 1 Introduction to Programming in C תרגול
מבוא למדעי המחשב תרגול 4 שעת קבלה : יום שני 11:00-12:00 דוא " ל :
מבוא למדעי המחשב © אריק פרידמן 1 מצביעים כמערכים דוגמה.
1 Introduction to Programming in C - Fall 2010 – Erez Sharvit, Amir Menczel 1 Introduction to Programming in C תרגול
תכנות תרגול 6 שבוע : תרגיל שורש של מספר מחושב לפי הסדרה הבאה : root 0 = 1 root n = root n-1 + a / root n-1 2 כאשר האיבר ה n של הסדרה הוא קירוב.
מבוא למדעי המחשב מחרוזות, מצביעים וכתובות
מבוא לשפת C תרגול 12: עוד רקורסיה
11 Introduction to Programming in C - Fall 2010 – Erez Sharvit, Amir Menczel 1 Introduction to Programming in C תרגול
תכנות תרגול 6 שבוע : הגדרת פונקציות return-value-type function-name(parameter1, parameter2, …) הגדרת סוג הערכים שהפונקציה מחזירה שם הפונקציהרשימת.
#include void main() { int i; char c; char st1[]="abcd"; for (i=-128;i
תכנות תרגול 14 שבוע:
תכנות תרגול 10 שבוע : הקשר בין מערכים למצביעים נרצה לעמוד על הקשר בין מערך למצביע מאחר ומערכים הם הכללה של משתנים הרי שברור שלמערך ולכל אחד מאיבריו.
1 Introduction to Programming in C - Fall 2010 – Erez Sharvit, Amir Menczel 1 Introduction to Programming in C תרגול
תכנות תרגול 5 שבוע : לולאות for לולאות for for (counter=1 ;counter
מערכים מבוא לתכנות למנע"ס - שבוע מספר 8 - מאיר קומר - סמסטר ב' - תשס"ו והנה בעיה כתוב תוכנית אשר תקלוט 36 מספרים ותדפיס כמה מתוכם גדולים יותר מהממוצע.
מבוא כללי למדעי המחשב תרגול 3. לולאות while לולאות while while (condition) { loop body } במקרה של קיום התנאי מתבצע גוף הלולאה ברגע שהתנאי לא מתקיים נצא.
מבוא למדעי המחשב תרגול 6 - מערכים שעת קבלה : יום שני 11:00-12:00 דוא " ל :
תכנות תרגול 7 שבוע : מערכים עד היום התוכניות שלנו לא ידעו לשמור כמות גדולה של מידע ללא הגדרת כמות גדולה של משתנים. עד היום התוכניות שלנו לא ידעו.
תכנות תרגול 5 שבוע : הגדרת פונקציות return-value-type function-name(parameter1, parameter2, …) הגדרת סוג הערכים שהפונקציה מחזירה שם הפונקציהרשימת.
מערכים עד היום כדי לייצג 20 סטודנטים נאלצנו להגדיר עד היום כדי לייצג 20 סטודנטים נאלצנו להגדיר int grade1, grade2, …, grade20; int grade1, grade2, …, grade20;
עקרון ההכלה וההדחה.
מבוא למדעי המחשב תרגול 3 שעת קבלה : יום שני 11:00-12:00 דוא " ל :
Last time on Clang משתנה: "פתק" המשמש את המחשב לשמירת מידע. לכל משתנה יש שם וטיפוס כללים לשמות משתנים –חייבים להכיל רק אותיות, מספרים ו '_' –חייבים להתחיל.
מבוא למדעי המחשב שפת c
1 מבוא למדעי המחשב סיבוכיות. 2 סיבוכיות - מוטיבציה סידרת פיבונאצ'י: long fibonacci (int n) { if (n == 1 || n == 2) return 1; else return (fibonacci(n-1)
מבוא למדעי המחשב תרגול 9 – מערכים ומחרוזות, תרגילי חזרה שעת קבלה : יום שני 11:00-12:00 דוא " ל :
מבוא למדעי המחשב תרגול 5 שעת קבלה : יום שני 11:00-12:00 דוא " ל :
מבוא למדעי המחשב תרגול 12 – הקצאת זיכרון דינאמית שעת קבלה : יום שני 11:00-12:00 דוא " ל :
11 Introduction to Programming in C - Fall 2010 – Erez Sharvit, Amir Menczel 1 Introduction to Programming in C תרגול
תכנות תרגול 8 שבוע : מערכים עד היום התוכניות שלנו לא ידעו לשמור כמות גדולה של מידע ללא הגדרת כמות גדולה של משתנים. עד היום התוכניות שלנו לא.
מבנה נתונים ואלגוריתמים ) לשעבר - עיבוד מידע( ד"ר אבי רוזנפלד ד"ר אריאלה ריכרדסון.
מבוא למדעי המחשב לתעשייה וניהול הרצאה 12. ספריות.
מבוא למדעי המחשב לתעשייה וניהול הרצאה 6. מפעל השעווה – לולאות  עד עכשיו  טיפלנו בייצור נרות מסוג אחד, במחיר אחיד  למדנו להתמודד עם טיפול במקרים שונים.
מבנה נתונים ואלגוריתמים ) לשעבר - עיבוד מידע( ד"ר אבי רוזנפלד ד"ר אריאלה ריכרדסון.
Programming Pointers. נדגים היום בעזרת מצביעים העברת משתנים לפונקציה שמשנה אותם  פונקציה שמקבלת מצביעים לסמן תא בזיכרון  פונקציה שמחזירה מצביע מערך.
מחרוזות – הטיפוס String
מספרים אקראיים ניתן לייצר מספרים אקראיים ע"י הפונקציה int rand(void);
Programming Arrays.
מבוא למדעי המחשב לתעשייה וניהול
מבוא למדעי המחשב סיבוכיות.
שיעור חמישי: מערכים ומחרוזות
תירגול 14: מבני נתונים דינאמיים
נושאים מחרוזות מיון (מיון בועות)
מבוא כללי למדעי המחשב פונקציות
Computer Programming Summer 2017
מבוא לתכנות בWINDOWS ב#C
מבוא כללי למדעי המחשב תרגול 4
מבוא כללי למדעי המחשב שיעור 2
תרגול 8 תחומי הכרה פונקציות
מבוא כללי למדעי המחשב תרגול 6
מחרוזות קרן כליף.
מערכים של מצביעים הקצאה דינאמית
Presentation transcript:

מבוא למדעי המחשב תרגול 8 - מחרוזות שעת קבלה : יום שני 11:00-12:00 דוא " ל :

מחרוזות מחרוזת היא רצף של תווים. הצהרה על מחרוזת : כמו הצהרה על מערך של תווים : char name[size] כאשר size הוא האורך המקסימלי של המחרוזת

קליטת ערך למחרוזת אפשרות 1: scanf( “ %s ”,name); למשל : char st[20]; scanf( “ %s ”,st); שימו לב : אין צורך בתו &. באפשרות הזו נקלוט את המחרוזת עד שנגיע לרווח או ל tab, ושאר המחרוזת לא תיקלט. על מנת להימנע ממקרה זה נשתמש באפשרות השנייה. אפשרות 2: gets(name);

התו '0\' התו '0\' משמש כתו בקרה המודיע על סיום המחרוזת. כאשר קולטים מחרוזת מהמשתמש או כאשר מאתחלים מחרוזת בעת ההצהרה תו זה מוסף אוטומטית כתו אחרון. למשל, אם נרצה לאתחל מחרוזת מאורך 5, אז התו השישי יהיה '0\' ולכן יש להגדיר את גודל המערך ל -6 תווים לפחות דוגמה : char st[6]= “ keren ” ; st[0]= ‘ k ’, st[1]= ‘ e ’, …,st[4]= ‘ n ’ אז והערך של התא האחרון יהיה '0\'. אם נכתוב תוכנית שבונה את המחרוזת לבד יש להוסיף בסופה את התו.

כתוב תכנית שקולטת מחרוזת ויוצרת מחרוזת חדשה שהיא ההיפוך שלהץ למשל, קלט: abcd פלט: dcba #include <stdio.h> void main() { char st[10],new[10]; int i,k=0,length; printf ("\n enter string"); gets(st); for (i=0;st[i];i++); length=i; for (i=length;i>0;i--) new[k++]=st[i-1]; new[k]='\0'; printf ("\n the new string is: %s",new); {

כתבו תכנית שקולטת שתי מחרוזות ובונה מחרוזת חדשה, שבה אחרי כל תו של המחרוזת הראשונה תופיע המחרוזת השנייה. לדוגמה: מחרוזת ראשונה: "abcd" מחרוזת שנייה:"**". המחרוזת החדשה תהיה: "a**b**c**d**". #include void main() { char s1[10],s2[10],new[20]; int i,j,k=0; printf ("\n enter the first string"); gets(s1); printf ("\n enter the second string"); gets(s2); for(i=0;s1[i];i++) { new[k++]=s1[i]; for (j=0;s2[j];j++) new[k++]=s2[j]; } new[k++]='\0'; for(i=0;new[i];i++) printf("%c",new[i]); }

כתוב פונקציה שמקבלת מחרוזת ומוחקת את כל הרווחים שבמחרוזת. כתוב תוכנית שמשתמשת בפונקציה זו. #include void del_spaces(char a[]) } int i,count=0; for (i=0;a[i];i++) } if (a[i]!=' ') a[count++]=a[i]; { a[count]='\0'; { void main() } char st[80]; printf ("enter string \n"); gets(st); del_spaces(st); printf ("the string without spaces:\n%s",st); }

כתבו תכנית שקולטת שני מערכים של מספרים שלמים הממוינים בסדר עולה, ובונה מערך חדש ממוזג. כלומר, המערך החדש יכיל את אברי שני המערכים ויהיה ממוין. #include #define N 5 #define M 7 void kelet(int array[],int size) { int i; printf ("\n enter %d numbers",size); for (i=0;i<size;i++) scanf("%d",&array[i]); } void merge(int a[],int b[],int c[]) { int i=0,j=0,k=0; while (i<N && j<K) if (a[i]<b[j]) c[k++]=a[i++]; else c[k++]=b[j++]; while (i<N) c[k++]=a[i++]; while (j<M) c[k++]=b[j++]; } void main() { int i,a[N],b[M],new[N+M]; kelet(a,N); kelet(b,M); merge(a,b,new); for (i=0;i<N+M;i++) printf (" %d",new[i]); }