#include<stdio.h>
#include<string.h>
#define ARR_SIZE 10
int main()
{
/*Array to hold elements of (ARR_SIZE+1) size , +1 for extra space for our element.*/
int arr[ARR_SIZE+1] = {10,20,30,40,50,60,70,80,90,100,0};
int pos,num; /*Number and postion to insert.*/
printf("\nBefore insertion : "); for(int i = 0; i < ARR_SIZE+1 ; ++i)
{
}
printf("\nEnter number to insert : "); printf("\nEnter its position : ");
if(pos < 0 || pos > ARR_SIZE+1){
fprintf(stderr
,"Invalid position '%d' provided.",pos
); return 1;
}
pos -= 1; /*Map according to index of array.*/
/*Make space for number to insert.*/
memmove(&arr
[pos
+1],&arr
[pos
],(ARR_SIZE
+1-pos
)*sizeof(int)); arr[pos] = num;/*insert the number.*/
printf("\nAfter insertion : "); for(int i = 0; i < ARR_SIZE+1 ; ++i)
{
}
return 0;
}
I2luY2x1ZGU8c3RkaW8uaD4KI2luY2x1ZGU8c3RyaW5nLmg+CgojZGVmaW5lIEFSUl9TSVpFIDEwCmludCBtYWluKCkKewogICAgLypBcnJheSB0byBob2xkIGVsZW1lbnRzIG9mIChBUlJfU0laRSsxKSBzaXplICwgKzEgZm9yIGV4dHJhIHNwYWNlIGZvciBvdXIgZWxlbWVudC4qLwogICAgaW50IGFycltBUlJfU0laRSsxXSA9IHsxMCwyMCwzMCw0MCw1MCw2MCw3MCw4MCw5MCwxMDAsMH07CiAgICBpbnQgcG9zLG51bTsgLypOdW1iZXIgYW5kIHBvc3Rpb24gdG8gaW5zZXJ0LiovCgogICAgcHJpbnRmKCJcbkJlZm9yZSBpbnNlcnRpb24gOiAiKTsKICAgIGZvcihpbnQgaSA9IDA7IGkgPCBBUlJfU0laRSsxIDsgKytpKQogICAgewogICAgICAgIHByaW50ZigiJWQgIixhcnJbaV0pOwogICAgfQoKICAgIHByaW50ZigiXG5FbnRlciBudW1iZXIgdG8gaW5zZXJ0IDogIik7CiAgICBzY2FuZigiJWQiLCZudW0pOwogICAgcHJpbnRmKCJcbkVudGVyIGl0cyBwb3NpdGlvbiA6ICIpOwogICAgc2NhbmYoIiVkIiwmcG9zKTsKCiAgICBpZihwb3MgPCAwIHx8IHBvcyA+IEFSUl9TSVpFKzEpewogICAgZnByaW50ZihzdGRlcnIsIkludmFsaWQgcG9zaXRpb24gJyVkJyBwcm92aWRlZC4iLHBvcyk7CiAgICByZXR1cm4gMTsKICAgIH0KCiAgICBwb3MgLT0gMTsgLypNYXAgYWNjb3JkaW5nIHRvIGluZGV4IG9mIGFycmF5LiovCiAgICAvKk1ha2Ugc3BhY2UgZm9yIG51bWJlciB0byBpbnNlcnQuKi8KICAgIG1lbW1vdmUoJmFycltwb3MrMV0sJmFycltwb3NdLChBUlJfU0laRSsxLXBvcykqc2l6ZW9mKGludCkpOwogICAgYXJyW3Bvc10gPSBudW07LyppbnNlcnQgdGhlIG51bWJlci4qLwoKICAgIHByaW50ZigiXG5BZnRlciBpbnNlcnRpb24gOiAiKTsKICAgIGZvcihpbnQgaSA9IDA7IGkgPCBBUlJfU0laRSsxIDsgKytpKQogICAgewogICAgICAgIHByaW50ZigiJWQgIixhcnJbaV0pOwogICAgfQoKICAgIHJldHVybiAwOwp9Cg==