נשלח בתאריך: 24 February 2009 בשעה 13:18 | | IP רשוּם
|
|
|
|
קיבלתי משימה ,ולא ידעת אם ביצעתי אותה נכון ,תיבדקו בבקשה ותגידו אם זה נכון(אם לא תציאו פתרונות אחרים):
כתוב פונקציה המקבלת מצביע למערך דינאמי ,את אורכו וערך למחיקה. הפונקציה תמחוק את הערך הרצוי ותעדכן את גודל המערך , למשל ,
הגדרת הפונקציה :
int* DeleteItem( int* ptr_array , int* size , int del)
כתוב תוכנית הראשית שמשתמשת בפונקציה הנ"ל
תוכנית שכתבתי:
#include <stdio.h>
#include <stdlib.h>
int * DeleteItem(int* ptr_array, int* size, int del) {
int i, j;
for (i = 0, j = 0; i < *size; i++) {
if (ptr_array != del) {
ptr_array[j++] = ptr_array;
}
} *size = j;
return ptr_array;
}
int main(void) {
int input[] = {2, 8, 5, 6, 7, 6, 0, 3, 4};
int size = sizeof(input) / sizeof(int);
int i;
printf( "size: %d\n", size);
for (i = 0; i < size; i++) {
printf( "%d ", input);
}
printf( "\n");
int* output = DeleteItem(input, &size, 6);
printf( "new size: %d\n", size);
for (i = 0; i < size; i++) {
printf( "%d ", output);
}
printf( "\n");
return 0;
}
תודה רבה!!
|