int main(void) { double array[ROWS][COLS] = { {1,2,3,4,5}, {6,7,8,9,10}, {11,12,13,14,15} }; printf("--Before Doubling--\n"); print_2d_array(ROWS, COLS, array); multiply_array(ROWS, COLS, array, 2); printf("--After Doubling--\n"); print_2d_array(ROWS, COLS, array); return 0; }
void Bed_level::mbl_mesh_report() { SERIAL_EM("Num X,Y: " STRINGIFY(GRID_MAX_POINTS_X) "," STRINGIFY(GRID_MAX_POINTS_Y)); SERIAL_EMV("Z offset: ", mbl.z_offset, 5); SERIAL_EM("Measured points:"); print_2d_array(GRID_MAX_POINTS_X, GRID_MAX_POINTS_Y, 5, [](const uint8_t ix, const uint8_t iy) { return mbl.z_values[ix][iy]; } ); }
void print_bilinear_leveling_grid_virt() { SERIAL_ECHOLNPGM("Subdivided with CATMULL ROM Leveling Grid:"); print_2d_array(ABL_GRID_POINTS_VIRT_X, ABL_GRID_POINTS_VIRT_Y, 5, [](const uint8_t ix, const uint8_t iy) { return z_values_virt[ix][iy]; } ); }
void print_bilinear_leveling_grid() { SERIAL_ECHOLNPGM("Bilinear Leveling Grid:"); print_2d_array(GRID_MAX_POINTS_X, GRID_MAX_POINTS_Y, 3, [](const uint8_t ix, const uint8_t iy) { return z_values[ix][iy]; } ); }
void Bed_level::bed_level_virt_print() { SERIAL_LM(ECHO, "Subdivided with CATMULL ROM Leveling Grid:"); print_2d_array(ABL_GRID_POINTS_VIRT_X, ABL_GRID_POINTS_VIRT_Y, 5, [](const uint8_t ix, const uint8_t iy){ return z_values_virt[ix][iy]; } ); }
/* * Execute command * Return value: FALSE means that the user want to exit. The loop * calling the execute command should terminate */ int execute_command(char command) { int search_target = 0; switch (command) { case 'x': return FALSE; case 'p': print_1d_array(array_1d, array_1d_length); return TRUE; case 'r': array_1d_length = get_int("Enter array length"); read_1d_array(array_1d, array_1d_length); return TRUE; case 's': save_1d_array(filename, array_1d, array_1d_length); return TRUE; case 'l': load_1d_array(filename, array_1d, &array_1d_length); return TRUE; case 'i': insert_1d_array(get_float("Enter value to insert"), get_int("Enter position for value"), array_1d, &array_1d_length); return TRUE; case 'd': delete_1d_array(get_int("Enter position to delete"), array_1d, &array_1d_length); return TRUE; case 'P': print_2d_array(array_2d, array_2d_col, array_2d_row); return TRUE; case 'R': array_2d_col = get_int("Enter 2D array number of columns"); array_2d_row = get_int("Enter 2D array number of rows"); read_2d_array(array_2d, array_2d_col, array_2d_row); return TRUE; case '*': AcolBrow = get_int("Enter number of columns for matrix A"); Arow = get_int("Enter number of rows for matrix A"); Bcol = get_int("Enter number of columns for matrix B"); read_2d_array(Amatrix, AcolBrow, Arow); read_2d_array(Bmatrix, Bcol, AcolBrow); multiply(Amatrix, Arow, Bmatrix, Bcol, Cmatrix, AcolBrow); print_2d_array(Cmatrix, Bcol, Arow); return TRUE; case 'S': switch(get_command("Enter sub-command (b, s, i, m, or q)")) { case 'b': bubble_sort(array_1d, array_1d_length); break; case 's': selection_sort(array_1d, array_1d_length); break; case 'i': insertion_sort(array_1d, array_1d_length); break; default: printf("Unknown sub-command %c\n", command); } return TRUE; case 'F': search_target = get_int("Search for"); switch(get_command("Enter sub-command (l or b)")) { case 'l': linear_search(search_target, array_1d, array_1d_length); break; case 'b': binary_search(search_target, array_1d, array_1d_length); break; default: printf("Unknown sub-command %c\n", command); } return TRUE; case 't': load_1d_array(filename, array_1d, &array_1d_length); bubble_sort(array_1d, array_1d_length); for (int i = 0; i < array_1d_length; i++) { binary_search(i, array_1d, array_1d_length); } return TRUE; default: printf("Unknown command %c\n", command); return TRUE; } /* Should never reach here */ printf("Error: execute command failed\n"); return FALSE; }