Advertisement
Guest User

Untitled

a guest
Jun 25th, 2019
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.58 KB | None | 0 0
  1. //כתוב פונקציה אשר תוגדר באופן הבא :
  2. //int *  fun(char str[][50])
  3. //נתון שהמערך הדו ממדי נמצא בזיכרון של המחשב ומכיל 20 מחרוזות.
  4. //בפונקציה יש מערך בגודל 20 מסוג int, כל איבר במערך מציג כמה מלים מתחילות באות גדולה יש בשורה בעלת אותו אינדקס של המערך.למשל במקום 0 בודקים שורה במקום 0 וכך הלאה.
  5. //הפונקציה מחזירה את כתובת המערך.
  6. //הערה : לשים לב איך מוציאים מילה בתוך מחרוזת, אפשר להשתמש במחרוזת עזר.
  7. //  לבנות רק את הפונקציה – אין צורך ב main.
  8. //  דוגמא :
  9. //  אם שורה ראשונה מכילה Hello how Are you ? במערך במקום 0 יהיה 2 (מה שמסומן עם קו תחתי)
  10. //
  11.  
  12.  
  13. #include<stdio.h>
  14. #include<stdlib.h>
  15. #include<malloc.h>
  16. #include<string.h>
  17. #define N 3
  18.  
  19. int *  fun(char str[][50])
  20. {
  21.     int *arr, i, j;
  22.     arr = (int *)calloc(sizeof(int),N);
  23.     for (i = 0; i < N; i++)
  24.     {
  25.         if (str[i][0] >= 'A' && str[i][0] <= 'Z')
  26.             arr[i]++;
  27.         for (j = 1; j < strlen(str[i]); j++)
  28.         {
  29.             while (str[i][j] == ' ')
  30.             {
  31.                 if (str[i][j + 1] >= 'A' && str[i][j + 1] <= 'Z')
  32.                     arr[i]++;
  33.                     j++;
  34.             }
  35.         }
  36.     }
  37.     for (i = 0; i < N; i++)
  38.         printf("%-3d", arr[i]);
  39.     printf("\n");
  40.     return arr;
  41.  
  42. }
  43.  
  44. void main()
  45. {
  46.     char str[N][50]; int i, *p = NULL;;
  47.     for (i = 0; i < N; i++)
  48.         gets(str[i]);
  49.     p = fun(str);
  50.     for (i = 0; i < N; i++)
  51.         printf("%-3d", *(p+i));
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement