Floyd's triangle: Difference between revisions
Content added Content deleted
(→{{header|Pascal}}: Marked incorrect due to spacing of output.) |
(→{{header|Ada}}: Added Ada version) |
||
Line 14: | Line 14: | ||
# Write a program to generate and display here the first n lines of a Floyd triangle.<br>(Use n=5 and n=14 rows). |
# Write a program to generate and display here the first n lines of a Floyd triangle.<br>(Use n=5 and n=14 rows). |
||
# Ensure that when displayed in a monospace font, the numbers line up in vertical columns as shown and that only one space separates numbers of the last row. |
# Ensure that when displayed in a monospace font, the numbers line up in vertical columns as shown and that only one space separates numbers of the last row. |
||
=={{header|Ada}}== |
|||
<lang Ada>with Ada.Text_IO, Ada.Integer_Text_IO, Ada.Command_Line; |
|||
procedure Floyd_Triangle is |
|||
Rows: constant Positive := Integer'Value(Ada.Command_Line.Argument(1)); |
|||
Last_Number:constant Positive := (Rows * (Rows+1)) / 2; |
|||
Width: constant Positive := Integer'Image(Last_Number)'Length; |
|||
Current: Positive := 1; |
|||
begin |
|||
for Line in 1 .. Rows loop |
|||
for Column in 1 .. Line loop |
|||
Ada.Integer_Text_IO.Put(Current, Width => Num_Of_Digits); |
|||
Current := Current + 1; |
|||
end loop; |
|||
Ada.Text_IO.New_Line; |
|||
end loop; |
|||
end Floyd_Triangle;</lang> |
|||
{{out}} |
|||
<pre>> ./floyd_triangle 5 |
|||
1 |
|||
2 3 |
|||
4 5 6 |
|||
7 8 9 10 |
|||
11 12 13 14 15 |
|||
> ./floyd_triangle 14 |
|||
1 |
|||
2 3 |
|||
4 5 6 |
|||
7 8 9 10 |
|||
11 12 13 14 15 |
|||
16 17 18 19 20 21 |
|||
22 23 24 25 26 27 28 |
|||
29 30 31 32 33 34 35 36 |
|||
37 38 39 40 41 42 43 44 45 |
|||
46 47 48 49 50 51 52 53 54 55 |
|||
56 57 58 59 60 61 62 63 64 65 66 |
|||
67 68 69 70 71 72 73 74 75 76 77 78 |
|||
79 80 81 82 83 84 85 86 87 88 89 90 91 |
|||
92 93 94 95 96 97 98 99 100 101 102 103 104 105</pre> |
|||
=={{header|D}}== |
=={{header|D}}== |