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}}==