Advertisement
Guest User

Untitled

a guest
Jun 27th, 2019
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.82 KB | None | 0 0
  1. //כתוב תוכנית לפי ההוראות הבאות :
  2. //א.בתוכנית יש פונקציה אשר קולטת כפרמטרים שני מספרים שלמים a, b הפונקציה מחזירה 1 אם b הוא ספרה בתוך a אחרת תחזיר 0 :
  3. // int f1(int a, int b)
  4. // לדוגמא אם נקלט 1540 בתוך a ואת הערך 5 בתוך b היא תחזיר 1.
  5. // לדוגמא אם נקלט 1540 בתוך a ואת הערך 8 בתוך b היא תחזיר 0.
  6. // ב.בתוכנית יש פונקציה אשר קולטת כפרמטרים מערך מספרי והגודל שלו
  7. // int * f2(int *arr, int n)
  8. // הפונקציה בודקת בעזרת הפונקציה מסעיף א בלבד כמה מספרים במערך מכילים את הספרה 3. הפונקציה מייצרת מערך דינמי שמכיל את המספרים האלה(שמכילים את הספרה 3).בסוף הפונקציה מחזירה את כתובת המערך החדש.
  9. // ג.התוכנית הראשית קולטת מספרים למערך בגודל 100, ולאחר מכן שולחת אותו לפונקציה שבסעיף ב, ומדפיסה את הנתונים במערך החדש.
  10. #include<stdio.h>
  11. #include<stdlib.h>
  12. #include<string.h>
  13. int size = 0;
  14. int f1(int a, int b)
  15. {
  16. int temp =a, i=a;
  17.  
  18. while (temp != 0)
  19. {
  20.  
  21. if (temp % 10 == b)
  22. return 1;
  23. temp /= 10;
  24.  
  25. }
  26. return 0;
  27.  
  28. }
  29.  
  30. int * f2(int *arr, int n)
  31. {
  32. int i, k=0,cnt=1,*nwarr=NULL;
  33. for (i = 0; i < n; i++)
  34. {
  35. if (f1(arr[i], 3))
  36. {
  37. nwarr = (int *)realloc(nwarr, sizeof(int)*cnt);
  38. nwarr[k++] = arr[i];
  39. cnt++;
  40. size++;
  41. }
  42. }
  43. return nwarr;
  44. }
  45. void main()
  46. {
  47. int num1, num2, temp = 0, *newarr=NULL,i, arr[5] = { 123,543,35,86,07 };
  48.  
  49. newarr = f2(arr, 5);
  50. for (i = 0; i < size; i++)
  51. {
  52. printf(" %d", newarr[i]);
  53.  
  54.  
  55.  
  56. }
  57.  
  58.  
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement