#include "global.h" int print_unit (int i, int ns, int nl) { char num[50]; int k; double area; if (unit[i].type == CELL_COUNTS) { sprintf (num, "%*ld", unit[i].len, count_sum (&ns, nl)); } else if (unit[i].type == PERCENT_COVER) { k = ns-1; while (k >= 0 && same_cats (k,ns,nl-1)) k--; k++; area = area_sum (&k, nl-1); if(unit[i].eformat) scient_format (100.0 * area_sum (&ns, nl) / area, num, unit[i].len, unit[i].dp); else format_double (100.0 * area_sum (&ns, nl) / area, num, unit[i].len, unit[i].dp); } else { if(unit[i].eformat) scient_format (area_sum (&ns, nl) * unit[i].factor, num, unit[i].len, unit[i].dp); else format_double (area_sum (&ns, nl) * unit[i].factor, num, unit[i].len, unit[i].dp); } fprintf (stdout,"|%s", num); return 0; }