Multiplication tables: Difference between revisions

From Rosetta Code
Content added Content deleted
Line 1: Line 1:
Produce a formatted multiplication table of the kind memorised by rote when in primary school.
Produce a formatted 12×12 multiplication table of the kind memorised by rote when in primary school.


Only print the top half triangle of products.
Only print the top half triangle of products.
Line 15: Line 15:
FOR row TO max DO
FOR row TO max DO
printf((fmt,row));
printf((fmt,row));
FOR col FROM 1 TO row-1 DO print(empty cell) OD;
FOR col TO row-1 DO print(empty cell) OD;
[row:max]INT product;
[row:max]INT product;
FOR col FROM row TO max DO product[col]:=row*col OD;
FOR col FROM row TO max DO product[col]:=row*col OD;

Revision as of 11:37, 5 December 2009

Produce a formatted 12×12 multiplication table of the kind memorised by rote when in primary school.

Only print the top half triangle of products.

Task
Multiplication tables
You are encouraged to solve this task according to the task description, using any language you may know.

ALGOL 68

<lang Algol>main:(

 INT max = 12;
 STRING empty cell = "    ";
 FORMAT fmt = $zz-d$;
 print("   x");
 FOR col TO max DO printf((fmt, col)) OD;
 print (new line);
 FOR row TO max DO
   printf((fmt,row));
   FOR col TO row-1 DO print(empty cell) OD;
   [row:max]INT product;
   FOR col FROM row TO max DO product[col]:=row*col OD;
   printf((fmt, product, $l$))
 OD

)</lang> Output:

   x   1   2   3   4   5   6   7   8   9  10  11  12
   1   1   2   3   4   5   6   7   8   9  10  11  12
   2       4   6   8  10  12  14  16  18  20  22  24
   3           9  12  15  18  21  24  27  30  33  36
   4              16  20  24  28  32  36  40  44  48
   5                  25  30  35  40  45  50  55  60
   6                      36  42  48  54  60  66  72
   7                          49  56  63  70  77  84
   8                              64  72  80  88  96
   9                                  81  90  99 108
  10                                     100 110 120
  11                                         121 132
  12                                             144