ya thats true, i think i just made it seem hard but can someone check out this function and tell me if there is anything wrong because i get a "Segmentation fault":
Code:
int valid(const char* str){
//char f[12];
int k[10], d[10], sum=0, ret=0, lenght = strlen(str);
if (strcmp(str, "0") == 0) {
ret = 0;
}
if (strcmp(str, "") == 0) {
ret = 0;
}
if (str == NULL) {
ret = 0;
}
if (lenght != 10) {
ret = 0;
}
//strcpy(f, str);
for(int e=0;e<10;e++){
k[e] = str[e];
k[e] = k[e] - 48;
}
d[0] = k[0] * 10;
d[1] = k[1] * 9;
d[2] = k[2] * 8;
d[3] = k[3] * 7;
d[4] = k[4] * 6;
d[5] = k[5] * 5;
d[6] = k[6] * 4;
d[7] = k[7] * 3;
d[8] = k[8] * 2;
d[9] = k[9] * 1;
sum = (d[0] + d[1] + d[2] + d[3] + d[4] + d[5] + d[6] + d[7] + d[8] + d[9]) % 11;
if(sum==0){
ret = 1;
}
else{
ret = 0;
}
return ret;
}