Algorithms
Table Lookup
A small table can map codes to values without a chain of repeated conditions.
Table Lookup
table_lookup.c
#include <stdio.h>
struct Rate {
char code;
int value;
};
int main(void) {
char code = ;
struct Rate rates[3] = {{'A', 10}, {'B', 20}, {'C', 30}};
int result = 0;
for (int i = 0; i < 3; i++) {
if (rates[i].code == code) {
result = rates[i].value;
break;
}
}
printf("value=%d\n", result);
return 0;
}
#include <stdio.h>
struct Rate {
char code;
int value;
};
int main(void) {
char code = ;
struct Rate rates[3] = {{'A', 10}, {'B', 20}, {'C', 30}};
int result = 0;
for (int i = 0; i < 3; i++) {
if (rates[i].code == code) {
result = rates[i].value;
break;
}
}
printf("value=%d\n", result);
return 0;
}
#include <stdio.h>
struct Rate {
char code;
int value;
};
int main(void) {
char code = ;
struct Rate rates[3] = {{'A', 10}, {'B', 20}, {'C', 30}};
int result = 0;
for (int i = 0; i < 3; i++) {
if (rates[i].code == code) {
result = rates[i].value;
break;
}
}
printf("value=%d\n", result);
return 0;
}
table row
Each row stores one code and the value associated with it.
lookup
The loop searches rows until the requested code matches.