Code:
#include <stdio.h>
#define NEXTCOL 38
char *strs = "ABCDEF";
char *strl = "ABCDEFGHIJKL";
int sizesingle= 9;
int size[][2]= { 3, 3, -3, 3, 3, 9, -3, 9,
3, -3, 3, -9, -3, -3, -3, -9,
3, 15, 3,-15, -3, 15, -3,-15,
0, 0,
9, 3, -9, 3, -9, 9, -9, -3,
-9, -9, -9, 15, -9, -15, 9, 9,
9, -9, 9, -3, 9, 15, 9,-15,
0, 0,
15, 3, 15, 9, 15, -3, 15, -9,
15, 15, 15,-15, -15, 3, -15, 9,
-15, -9, -15, 15, -15,-15, -15, -3,
-1, 0
};
char buf[20];
int main(int argc, char *argv[])
{
int i = 0;
int j;
j = printf(" Short -- %d chars <%s> ", strlen(strs), strs);
while (j++ < NEXTCOL) putchar(' ');
printf(" Long -- %d chars <%s> \n", strlen(strl), strl);
printf("\n");
j = sprintf(buf,"%*s", sizesingle, strs);
j = printf(" %%%3ds (%2d) <%s> ", sizesingle, j, buf);
while (j++ < NEXTCOL) putchar(' ');
j = sprintf(buf,"%*s", sizesingle, strl);
j = printf(" %%%3ds (%2d) <%s> ", sizesingle, j, buf);
printf("\n");
j = sprintf(buf,"%*s", -sizesingle, strs);
j = printf(" %%%3ds (%2d) <%s> ", -sizesingle, j, buf);
while (j++ < NEXTCOL) putchar(' ');
j = sprintf(buf,"%*s", -sizesingle, strl);
j = printf(" %%%3ds (%2d) <%s> ", -sizesingle, j, buf);
printf("\n");
j = sprintf(buf,"%.*s", sizesingle, strs);
j = printf(" %%.%2ds (%2d) <%s> ", sizesingle, j, buf);
while (j++ < NEXTCOL) putchar(' ');
j = sprintf(buf,"%.*s", sizesingle, strl);
j = printf(" %%.%2ds (%2d) <%s> ", sizesingle, j, buf);
printf("\n");
j = sprintf(buf,"%.*s", -sizesingle, strs);
j = printf(" %%.%2ds (%2d) <%s> ", -sizesingle, j, buf);
while (j++ < NEXTCOL) putchar(' ');
j = sprintf(buf,"%.*s", -sizesingle, strl);
j = printf(" %%.%2ds (%2d) <%s> ", -sizesingle, j, buf);
printf("\n");
printf("\n");
while (size[i][0] != -1)
{
if (size[i][0] != 0)
{
j = sprintf(buf,"%*.*s", size[i][0], size[i][1], strs);
j = printf(" %%%3d.%3ds (%2d) <%s> ", size[i][0], size[i][1], j, buf);
while (j++ < NEXTCOL) putchar(' ');
j = sprintf(buf,"%*.*s", size[i][0], size[i][1], strl);
j = printf(" %%%3d.%3ds (%2d) <%s> ", size[i][0], size[i][1], j, buf);
}
printf("\n");
i++;
}
printf("done... \n");
return 0;
}
It will display a chart of all the positive & negative combinations of m & n