#include <stdio.h>
//-----------------------------------------------------------------------------
void Print(int array[], unsigned size) {
unsigned i;
for (i = 0; i < size; ++i) {
printf("%d ", array[i]);
}
printf("\n");
}
//-----------------------------------------------------------------------------
unsigned InsertValue(int array[], unsigned size, unsigned index, int value) {
if (size < index) {
return size;
}
unsigned i;
for (i = size; index < i; --i) {
array[i] = array[i - 1];
}
array[index] = value;
return size + 1;
}
//-----------------------------------------------------------------------------
unsigned RemoveValue(int array[], unsigned size, unsigned index) {
if (size == 0 || size <= index) {
return size;
}
unsigned i;
for (i = index; i < size - 1; ++i) {
array[i] = array[i + 1];
}
return size - 1;
}
//-----------------------------------------------------------------------------
int main() {
int array[4] = {1, 2, 3};
unsigned size = sizeof(array) / sizeof(*array) - 1;
Print(array, size);
size = InsertValue(array, size, 0, 4);
Print(array, size);
size = RemoveValue(array, size, 3);
Print(array, size);
return 0;
}