Example #1
0
int main() {
    int array[SIZE] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 };
    int shift;

    for ( int i = 0; i < SIZE; i++ ) {
        printf("%d ", array[i]);
    }
    printf("\n");

    scanf("%d", &shift);
    arrayShift(array, SIZE, shift);
    for ( int i = 0; i < SIZE; i++ ) {
        printf("%d ", array[i]);
    }
    printf("\n");

    return 0;
}
Example #2
0
int main(int argc, char** argv) {
    FILE* fp;
    int num, i, swapMade;
    int min, minPos;

    if(argc != 2) {
        printf("USAGE: NextNumber <fileContainingTestVectors>\n");
        return 1;
    }
    fp = fopen(argv[1], "r");
    if(fp == NULL) {
        printf("Failed to open the input file '%s' for reading!\n", argv[1]);
        return 2;
    }
    while(!feof(fp)) {
        num = -1;
        fscanf(fp, "%d", &num);
        if(num < 0) {
            continue;
        }
        genDigits(num);
        swapMade = 0;
        for(i=0;i<numDigits;i++) {
            getFirstMin(i, &min, &minPos);
            // no minimum found, move to the next index
            if(minPos == i) {
                continue;
            }
            arrayShift(i, minPos);
            sortTill(minPos-1);
            swapMade = 1;
            break;
        }
        if(swapMade) {
            printf("%d\n", getNum());
        }
        else {
            printf("%d\n", sortAndGetNum());
        }
    }
    fclose(fp);
    return 0;
}