#include <stdio.h>
void state_init() { printf("Init"); }
void state_load() { printf("Load"); }
void state_execute() { printf("Execute"); }
void state_exit() { printf("Exit"); }
// Your logic here
void run_state_sequence(int start) {
// Implement using function pointer array
void (*func[4][3])() = {
{&state_init, &state_load, &state_execute}, // Row 0
{&state_load, &state_execute, &state_exit}, // Row 1
{&state_execute, &state_exit, &state_init}, // Row 2
{&state_exit, &state_init, &state_load} // Row 2
};
func[start][0]();
printf("\n");
func[start][1]();
printf("\n");
func[start][2]();
printf("\n");
}
int main() {
int start;
scanf("%d", &start);
run_state_sequence(start);
return 0;
}
Input
0
Expected Output
Init Load Execute