תרגיל:
כתוב פונקציה שמקבלת מערך של intים, את הגודל שלו, ומצביע לint כלשהו.
בדוק האם המצביע מצביע לאיבר כלשהו במערך.
אם כן: הדפס את כל האיברים במערך שנמצאים אחרי המצביע (כולל המצביע).
אם לא: הדפס "NO".
פתרון אפשרי:
בהצלחה.
כתוב פונקציה שמקבלת מערך של intים, את הגודל שלו, ומצביע לint כלשהו.
בדוק האם המצביע מצביע לאיבר כלשהו במערך.
אם כן: הדפס את כל האיברים במערך שנמצאים אחרי המצביע (כולל המצביע).
אם לא: הדפס "NO".
פתרון אפשרי:
#include <stdio.h> void F(int Array[], int size, int *pToSomeNumber) { int i; for(i=0; i<size; i++){ if(Array+i == pToSomeNumber) break; } if(i>=size){ printf("NO\n"); return; } for(; i<size; i++){ printf("%d\n", Array[i]); } } void main(){ int x=5, y=6; int Arr1[] = {2,4,6,7,7}; int Arr2[] = {2,4,6,7,7}; int* p; p = &Arr1[2]; printf("ARR1:\n"); F(Arr1, 5, p); // 6 7 7 :ידפיס printf("ARR2:\n"); F(Arr2, 5, p); // NO :ידפיס printf("END\n"); }
בהצלחה.
אין תגובות:
הוסף רשומת תגובה