#include <stdio.h>
#include <stdlib.h>
int main() {
int *arr, n, i, x, count = 0;
printf("Enter the size of the array: ");
arr
= (int*) malloc(n
* sizeof(int)); if (arr == NULL) {
printf("Memory allocation failed!\n"); return 1;
}
printf("\nEnter %d integers:\n", n
); for (i = 0; i < n; i++) {
}
printf("\nEnter the value to delete: ");
// Remove all occurrences of x
for (i = 0; i < n; i++) {
if (arr[i] != x) {
arr[count++] = arr[i]; // overwrite deleted values
}
}
// Resize array using realloc
arr
= (int*) realloc(arr
, count
* sizeof(int)); if (arr == NULL && count > 0) {
printf("Memory reallocation failed!\n"); return 1;
}
printf("\nNew size of array: %d\n", count
); for (i = 0; i < count; i++) {
}
printf("\n\nMemory freed successfully.\n"); return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KCmludCBtYWluKCkgewogICAgaW50ICphcnIsIG4sIGksIHgsIGNvdW50ID0gMDsKCiAgICBwcmludGYoIkVudGVyIHRoZSBzaXplIG9mIHRoZSBhcnJheTogIik7CiAgICBzY2FuZigiJWQiLCAmbik7CgogICAgYXJyID0gKGludCopIG1hbGxvYyhuICogc2l6ZW9mKGludCkpOwogICAgaWYgKGFyciA9PSBOVUxMKSB7CiAgICAgICAgcHJpbnRmKCJNZW1vcnkgYWxsb2NhdGlvbiBmYWlsZWQhXG4iKTsKICAgICAgICByZXR1cm4gMTsKICAgIH0KCiAgICBwcmludGYoIlxuRW50ZXIgJWQgaW50ZWdlcnM6XG4iLCBuKTsKICAgIGZvciAoaSA9IDA7IGkgPCBuOyBpKyspIHsKICAgICAgICBzY2FuZigiJWQiLCAmYXJyW2ldKTsKICAgIH0KCiAgICBwcmludGYoIlxuRW50ZXIgdGhlIHZhbHVlIHRvIGRlbGV0ZTogIik7CiAgICBzY2FuZigiJWQiLCAmeCk7CgogICAgLy8gUmVtb3ZlIGFsbCBvY2N1cnJlbmNlcyBvZiB4CiAgICBmb3IgKGkgPSAwOyBpIDwgbjsgaSsrKSB7CiAgICAgICAgaWYgKGFycltpXSAhPSB4KSB7CiAgICAgICAgICAgIGFycltjb3VudCsrXSA9IGFycltpXTsgICAvLyBvdmVyd3JpdGUgZGVsZXRlZCB2YWx1ZXMKICAgICAgICB9CiAgICB9CgogICAgLy8gUmVzaXplIGFycmF5IHVzaW5nIHJlYWxsb2MKICAgIGFyciA9IChpbnQqKSByZWFsbG9jKGFyciwgY291bnQgKiBzaXplb2YoaW50KSk7CiAgICBpZiAoYXJyID09IE5VTEwgJiYgY291bnQgPiAwKSB7CiAgICAgICAgcHJpbnRmKCJNZW1vcnkgcmVhbGxvY2F0aW9uIGZhaWxlZCFcbiIpOwogICAgICAgIHJldHVybiAxOwogICAgfQoKICAgIHByaW50ZigiXG5OZXcgc2l6ZSBvZiBhcnJheTogJWRcbiIsIGNvdW50KTsKICAgIHByaW50ZigiVXBkYXRlZCBhcnJheTogIik7CiAgICBmb3IgKGkgPSAwOyBpIDwgY291bnQ7IGkrKykgewogICAgICAgIHByaW50ZigiJWQgIiwgYXJyW2ldKTsKICAgIH0KCiAgICBmcmVlKGFycik7CiAgICBwcmludGYoIlxuXG5NZW1vcnkgZnJlZWQgc3VjY2Vzc2Z1bGx5LlxuIik7CiAgICByZXR1cm4gMDsKfQo=