50 lines
941 B
Plaintext
50 lines
941 B
Plaintext
include "cowgol.coh";
|
|
|
|
# Sort 3 values
|
|
sub sort3(a: int32, b: int32, c: int32): (x: int32, y: int32, z: int32) is
|
|
sub sort2(a: int32, b: int32): (x: int32, y: int32) is
|
|
if a > b then
|
|
x := b;
|
|
y := a;
|
|
else
|
|
x := a;
|
|
y := b;
|
|
end if;
|
|
end sub;
|
|
|
|
x := a;
|
|
y := b;
|
|
z := c;
|
|
(x, y) := sort2(x, y);
|
|
(x, z) := sort2(x, z);
|
|
(y, z) := sort2(y, z);
|
|
end sub;
|
|
|
|
# Print 3 values
|
|
sub print3(a: int32, b: int32, c: int32) is
|
|
sub print1(a: int32) is
|
|
var buf: uint8[10];
|
|
[IToA(a, 10, &buf[0])] := 0;
|
|
print(&buf[0]);
|
|
print_char(' ');
|
|
end sub;
|
|
|
|
print1(a);
|
|
print1(b);
|
|
print1(c);
|
|
print_nl();
|
|
end sub;
|
|
|
|
var x: int32 := 77444;
|
|
var y: int32 := -12;
|
|
var z: int32 := 0;
|
|
|
|
# Print 3 values before sorting
|
|
print3(x, y, z);
|
|
|
|
# Sort 3 values
|
|
(x, y, z) := sort3(x, y, z);
|
|
|
|
# Print 3 values after sorting
|
|
print3(x, y, z);
|