procedure ColArc(x, y: integer; r: integer; nc: byte); begin SetPenColor(rgb(c[nc, 1], c[nc, 2], c[nc, 3])); Arc(x, y, r + 10, 0, 180); Arc(x, y, r - 10, 0, 180); line(x - r - 11, y - 2, x - r + 11, y - 2); line(x + r - 11, y - 2, x + r + 11, y - 2); floodfill(x, y - r, rgb(c[nc, 1], c[nc, 2], c[nc, 3])); end;
begin setwindowsize(500, 300); for i := 1 to 7 do ColArc(250, 300, 100 + (i * 20), i); end.
// PascalABC.NET 3.2, сборка 1427 от 24.04.2017 // Внимание! Если программа не работает, обновите версию!
begin var s1:=SeqRandom(ReadInteger('n1='),-50,50); var s2:=SeqRandom(ReadInteger('n2='),-50,50); var p:=ReadInteger('0-по неубыванию, иное- по невозрастанию:'); var q1:=new Queue<integer>; foreach var m in s1 do q1.Enqueue(m); Write('Очередь 1: ',q1); Writeln; var q2:=new Queue<integer>; foreach var m in s2 do q2.Enqueue(m); Write('Очередь 2: ',q2); Writeln; // очереди сформированы var q:=new Queue<integer>; var a:=(q1.ToArray+q2.ToArray); var s:sequence of integer; if p=0 then s:=a.OrderBy(i->i) else s:=a.OrderByDescending(i->i).ToArray; foreach var m in s do q.Enqueue(m); Write('Очередь-результат: ',q); Writeln; end.
Пример n1= 10 n2= 7 0-по неубыванию, иное- по невозрастанию: 1 Очередь 1: [-26,6,26,-48,-21,-29,27,-39,5,-40] Очередь 2: [50,36,37,46,18,41,-39] Очередь-результат: [50,46,41,37,36,27,26,18,6,5,-21,-26,-29,-39,-39,-40,-48]
const
c: array [1..7, 1..3] of byte = ((50, 50, 133), (0, 0, 255), (0, 160, 227), (0, 255, 0), (255, 255, 0), (239, 127, 26), (255, 0, 0));
var
i: byte;
procedure ColArc(x, y: integer; r: integer; nc: byte);
begin
SetPenColor(rgb(c[nc, 1], c[nc, 2], c[nc, 3]));
Arc(x, y, r + 10, 0, 180);
Arc(x, y, r - 10, 0, 180);
line(x - r - 11, y - 2, x - r + 11, y - 2);
line(x + r - 11, y - 2, x + r + 11, y - 2);
floodfill(x, y - r, rgb(c[nc, 1], c[nc, 2], c[nc, 3]));
end;
begin
setwindowsize(500, 300);
for i := 1 to 7 do
ColArc(250, 300, 100 + (i * 20), i);
end.
// Внимание! Если программа не работает, обновите версию!
begin
var s1:=SeqRandom(ReadInteger('n1='),-50,50);
var s2:=SeqRandom(ReadInteger('n2='),-50,50);
var p:=ReadInteger('0-по неубыванию, иное- по невозрастанию:');
var q1:=new Queue<integer>;
foreach var m in s1 do q1.Enqueue(m);
Write('Очередь 1: ',q1); Writeln;
var q2:=new Queue<integer>;
foreach var m in s2 do q2.Enqueue(m);
Write('Очередь 2: ',q2); Writeln;
// очереди сформированы
var q:=new Queue<integer>;
var a:=(q1.ToArray+q2.ToArray);
var s:sequence of integer;
if p=0 then s:=a.OrderBy(i->i)
else s:=a.OrderByDescending(i->i).ToArray;
foreach var m in s do q.Enqueue(m);
Write('Очередь-результат: ',q); Writeln;
end.
Пример
n1= 10
n2= 7
0-по неубыванию, иное- по невозрастанию: 1
Очередь 1: [-26,6,26,-48,-21,-29,27,-39,5,-40]
Очередь 2: [50,36,37,46,18,41,-39]
Очередь-результат: [50,46,41,37,36,27,26,18,6,5,-21,-26,-29,-39,-39,-40,-48]