1 void longest Wordchar longest longest EXIT EXIT

  • Slides: 22
Download presentation

 מחרוזות : 1 תרגיל ( אשר קולטת מילים )אחת אחרי השנייה void longest.

מחרוזות : 1 תרגיל ( אשר קולטת מילים )אחת אחרי השנייה void longest. Word(char longest[]) כתבו פונקציה את המילה הארוכה longest ולאחר מכן מכניסה למערך , EXIT מהמשתמש עד אשר מוקלדת המילה על הפונקציה להכניס רק את , אם ישנן כמה מילים באותו האורך. (EXIT ביותר שהוקלדה )לא כולל . ביתי - המילה שמופיעה ראשונה לפי סדר אלפא #include <stdio. h> this is a test : עבור הקלט : לדוגמא #include <string. h> test : תודפס המילה #define MAXLEN 1000 void longest. Word(char longest[]) char word[MAXLEN]; { strcpy(longest, ""); scanf("%s", word); while (strcmp(word, "EXIT")!=0) { if (strlen(word) > strlen(longest) || (strlen(word)==strlen(longest) && strcpy(longest, word); scanf("%s", word); } } void main() { char result[MAXLEN]; longest. Word(result); printf("%sn", result); } Computer Programming A - Spring 2018 strcmp(word, longest)<0))

 פיתרון - 2 תרגיל Computer Programming A - Spring 2018

פיתרון - 2 תרגיל Computer Programming A - Spring 2018

 פיתרון - 2 תרגיל Computer Programming A - Spring 2018

פיתרון - 2 תרגיל Computer Programming A - Spring 2018

 פיתרון - 2 תרגיל Computer Programming A - Spring 2018

פיתרון - 2 תרגיל Computer Programming A - Spring 2018

( )המשך 3 תרגיל int Get. Values(int arr[], int arr. Num) { int num.

( )המשך 3 תרגיל int Get. Values(int arr[], int arr. Num) { int num. Of. Values, i; printf(“Enter values for array number %d”, arr. Num); scanf(“%d”, &num. Of. Values); for(i=0; i < num. Of. Values; i++) { printf(“Enter value number %d”, i+1); scanf(“%d”, &arr[i]) } return num. Of. Values; } Computer Programming A - Spring 2018

( )המשך 4 תרגיל #include <stdio. h> #define ARR_SIZE 20 /*Pascal Triangle -prints a

( )המשך 4 תרגיל #include <stdio. h> #define ARR_SIZE 20 /*Pascal Triangle -prints a pascal triangle Parameters: n. Lines - bottom line level */ void pascal. Tri(int n. Lines){ int arr[ARR_SIZE+1] = {0}; int i, level; /*Check if level is in array bounds: */ if (n. Lines >= ARR_SIZE) return; for (level = 0; level <= n. Lines; level++) { /*Set the last number in level to 1: */ arr[level] = 1; Computer Programming A - Spring 2018

first 5 last recursive 3 first 2 3 recursive 3 last 2 first 5

first 5 last recursive 3 first 2 3 recursive 3 last 2 first 5 3 first 5 last recursive 3 2 first recursive 3 last 2 2 3 5 last 3 1 דוגמה פלינדרום הוא רצף תווים שניתן לקרוא משני הכיוונים ללא שינוי . בתוצאה first last 2 2 532235 int is. Pal(char s[], int first, int last) { if (first>=last) return TRUE; return (s[first] == s[last]) && is. Pal(s, first+1, last-1); } int ISPal(char s[]) { return is. Pal(s, 0, strlen(s) – 1); } כתבו פונקציה רקורסיבית , המקבלת מחרוזת אם TRUE ומחזירה , המחרוזת היא פלינדרום . אם אינה FALSE

 מחסנית הרצה - 1 דוגמה void main() { is_pal("ABBA", 0, 3); T s=“ABBA”

מחסנית הרצה - 1 דוגמה void main() { is_pal("ABBA", 0, 3); T s=“ABBA” , first=0, last = 3 if (0>=3) s=“ABBA” , first=1, last = 2 return TRUE; if (1>=2) return (s[0] == s[3]) s=“ABBA” , first=2, last = 1 return TRUE; && if (2>=1) is_pal(s, 1, 2); return (s[1] == s[2]) return TRUE; && return. . . is_pal(s, 2, 1); T T

#include <stdio. h> 2 דוגמה void abc(char A[], int first, int size) { if

#include <stdio. h> 2 דוגמה void abc(char A[], int first, int size) { if (first == size) { A[first]=''; printf("%st", A); return; } } A[first] = 'a'; abc (A, first+1, size); A[first] = 'b'; abc (A, first+1, size); A[first] = 'c'; abc (A, first+1, size); void main() { char A[4]; ABC(A, 3); } void ABC(char A[], int size) { abc(A, 0, size); } A[first]=‘a’ A[first]=‘b’ A ‘b' A[first]=‘c’ A ‘c' abc(A, first+1, size) …