Короч тут есть простой способ решения деревом. Всё, что слева это команда *2 , справа соответственно +1.
//Pascal ABC.NET 3.1 сборка 1256
uses
GraphABC;
Var
n:integer;
procedure square(var n:integer);
begin
readln(n);
rectangle(window.Center.X-n div 2,window.Center.Y-n div 2,window.Center.X+n div 2,window.Center.Y+n div 2);
end;
procedure points(n:integer);
Var
x,y,i:integer;
begin
i:=0;
while i<1000 do
begin
x:=random(window.Center.X-n div 2+1,window.Center.X+n div 2-1);
y:=random(window.Center.Y-n div 2+1,window.Center.Y+n div 2-1);
setpixel(x,y,rgb(random(255),random(255),random(255)));
inc(i);
end;
end;
begin
randomize;
square(n);
points(n);
end.
Program test;
var max,n:integer;
max:=0;
while n<>0 do// по окончанию ввода последовательности надо поставить '0'
begin
if max<n then max:=n;
end;
writeln(max);
end.
Var sum, i: integer;
begin
i:=-5; sum:=0;
while i<=27 do begin
sum:=sum+i;
i:=i+4;
end;
writeln(sum);
end.
#include <iostream>
int main(){<span>
unsigned int m = 0;
</span><span> std::cin >> m;
</span><span>
int * c = new int[m];
</span><span> int * t = new int[m];
</span><span> for (unsigned int i = 0,n = 0; i < m; ++i) {
</span><span> std::cin >> c[i];
</span><span> (c[i] > 0) ? t[n++] = c[i]: t[m-(i-n)-1] = c[i];
</span><span> }</span>
<span>
for (unsigned int i = 0; i < m; ++i)</span><span> std::cout << c[i] << ',';</span><span /><span>
std::cout << std::endl;</span><span>
for (unsigned int i = 0; i < m; ++i) </span><span>std::cout << t[i] << ',';</span><span />
<span> delete c;
</span><span> delete t;
</span><span> return 0;
</span><span>}</span>