#include #include int sort_get_index(float tab[], int top, float val) { int i; for(i=0; i= val) return i; } return top; } void sort_insert_at(float tab[], int i, int top, float val) { int j; for(j=top; j>i; j--) { tab[j] = tab[j-1]; } tab[i] = val; } void sort_insert(float tab[], int top, float val) { sort_insert_at(tab, sort_get_index(tab, top, val), top, val); } int nb_columns() { return 32; } int nb_lines() { return 16; } void grid_init(char grid[], char pixel) { int i; for(i=0; i= nb_columns() || y >= nb_lines()) { printf("Point (%d, %d) is out of range\n", x, y); exit(1); } grid[(nb_lines() - y - 1) * nb_columns() + x] = pixel; } void plot_vline(char grid[], int x, float fy0, float fy1, char pixel) { int y0 = fy0; int y1 = fy1; int y; for(y=y0; y<=y1; y++){ plot_point(grid, x, y, pixel); } } int main(int argc, char **argv) { char grid[nb_columns() * nb_lines()]; grid_init(grid, ' '); plot_vline(grid, 1, 2, 3, '|'); grid_display(grid); return 0; }