71 lines
1.3 KiB
C
71 lines
1.3 KiB
C
#include <stdio.h>
|
|
#include "base10.h"
|
|
|
|
int sizeofStr(char in[]) {
|
|
int i = 0;
|
|
for (i = 0; in[i] != '\0'; ++i)
|
|
;
|
|
return i;
|
|
}
|
|
|
|
void printStrArray(char in[]) {
|
|
int i;
|
|
printf("{ ");
|
|
for (i = 0; i < sizeofStr(in); ++i) {
|
|
printf("%c", in[i]);
|
|
if (i == sizeofStr(in) - 1) {
|
|
printf(" }\n");
|
|
} else {
|
|
printf(", ");
|
|
}
|
|
}
|
|
}
|
|
|
|
void printIntArray(int in[], int inLength) {
|
|
int i;
|
|
printf("{ ");
|
|
for (i = 0; i < inLength; ++i) {
|
|
printf("%d", in[i]);
|
|
if (i == inLength - 1) {
|
|
printf(" }\n");
|
|
} else {
|
|
printf(", ");
|
|
}
|
|
}
|
|
}
|
|
|
|
int checkIntArraySorted(int in[], int inLength) {
|
|
int i = 0;
|
|
while(i < inLength - 1) {
|
|
if (in[i] > in[i + 1])
|
|
return 0;
|
|
++i;
|
|
}
|
|
|
|
return 1;
|
|
}
|
|
|
|
/* Convert an integer array into a combined integer */
|
|
int intArrayToInt(int in[], int inLength) {
|
|
int i;
|
|
int out = 0;
|
|
int currentDigit = inLength;
|
|
for (i = 1; i <= inLength; ++i) {
|
|
out += in[i - 1] * intDigitExpand(currentDigit);
|
|
--currentDigit;
|
|
}
|
|
return out;
|
|
}
|
|
|
|
/* Split an integer into an integer array */
|
|
void intToIntArray(int in, int out[]) {
|
|
int i;
|
|
int j = 0;
|
|
int currentDigit;
|
|
for(i = intDigitCount(in); i >= 1; --i) {
|
|
out[j] = in / intDigitExpand(i);
|
|
in -= intDigitExpand(i) * out[j];
|
|
++j;
|
|
}
|
|
}
|