//
#include<stdlib.h>
void array_remove(double *arr, int *pn, int pos) {
int x = *pn;
int y = pos;
if (x > y) {
//check if after deletion size is zero!
if (x > y) {
for (int i = y; i < x-1; i++) {
arr[i] = arr[i + 1];
}
arr
=realloc(arr
, sizeof(double) * x
-1); *pn=*pn-1;
}
}
}
int main(void) {
int pn = 5;/*array length*/
int pos = 4;/*position of the number to be deleted*/
double *arr
= malloc(sizeof(double)*pn
);
for(int i=0;i<pn;i++){
arr[i] = i;
}
for(int i=0;i<pn;i++){
}
array_remove(arr, &pn, pos);
for(int i=0;i<pn;i++){
}
}
Ly8KI2luY2x1ZGU8c3RkbGliLmg+Cgp2b2lkIGFycmF5X3JlbW92ZShkb3VibGUgKmFyciwgaW50ICpwbiwgaW50IHBvcykgewoJaW50IHggPSAqcG47CglpbnQgeSA9IHBvczsKCWlmICh4ID4geSkgewoJCS8vY2hlY2sgaWYgYWZ0ZXIgZGVsZXRpb24gc2l6ZSBpcyB6ZXJvIQoJCWlmICh4ID4geSkgewoJCQlmb3IgKGludCBpID0geTsgaSA8IHgtMTsgaSsrKSB7CgkJCQlhcnJbaV0gPSBhcnJbaSArIDFdOwoJCQl9CgoJCQlhcnI9cmVhbGxvYyhhcnIsIHNpemVvZihkb3VibGUpICogeC0xKTsKCQkJKnBuPSpwbi0xOwoJCX0KCX0KfQoKaW50IG1haW4odm9pZCkgewoJaW50IHBuID0gNTsvKmFycmF5IGxlbmd0aCovCglpbnQgcG9zID0gNDsvKnBvc2l0aW9uIG9mIHRoZSBudW1iZXIgdG8gYmUgZGVsZXRlZCovCglkb3VibGUgKmFyciA9IG1hbGxvYyhzaXplb2YoZG91YmxlKSpwbik7CgoJZm9yKGludCBpPTA7aTxwbjtpKyspewoJCWFycltpXSA9IGk7Cgl9CgoJZm9yKGludCBpPTA7aTxwbjtpKyspewoJCXByaW50ZigiJS5mICIsYXJyW2ldKTsKCX0KCXByaW50ZigiXG4iKTsKCglwcmludGYoIiVpXG4iLHBuKTsKCWFycmF5X3JlbW92ZShhcnIsICZwbiwgcG9zKTsKCglmb3IoaW50IGk9MDtpPHBuO2krKyl7CgkJcHJpbnRmKCIlLmYgIixhcnJbaV0pOwoJfQoJcHJpbnRmKCJcbiIpOwoJcHJpbnRmKCIlaSIscG4pOwoKCglmcmVlKGFycik7CgoKCgp9CgoKCg==