[ create a new paste ] login | about

Link: http://codepad.org/lXYhGceW    [ raw code | output | fork ]

anmartex - C, pasted on Oct 20:
#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;
}


Output:
1
2
3
1 2 3 
4 1 2 3 
4 1 2 


Create a new paste based on this one


Comments: