<em>// PascalABC.NET 3.2, сборка 1417 от 28.03.2017</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
var a:=ArrRandom(ReadInteger('n='),-10,10); a.Println;
var x1:=a.Where(x->x>0).Min;
var i1:=a.FindIndex(x->x=x1);
var x2:=a.Where(x->x<0).Max;
var i2:=a.FindIndex(x->x=x2);
Swap(a[i1],a[i2]); a.Println
end.
<u>Пример</u>
n= 16
-9 -8 1 -9 2 5 -6 7 5 -9 0 2 -6 -7 3 6
-9 -8 -6 -9 2 5 1 7 5 -9 0 2 -6 -7 3 6
1) var m,n,z,i,b,count: Integer;
begin
writeln('Введите кол-во рядов');
readln(m);
writeln('Введите кол-во мест в каждом ряду');
readln(n);
writeln('Сколько билетов куплено?');
readln(z);
for i:=1 to m do
begin
for b:=1 to n do
begin
Inc(count);
end;
end;
if (z=count) or (z<count) then writeln('Хватит') else
if z>count then
writeln('Не хватит');
end.
2) var a,b,c: Integer;
begin
writeln('Введите числа a и b');
readln(a,b);
c:=a+b;
if c>10 then
begin
a:=a*5;
b:=b*5;
end;
if (c=10) or (c<10) then
begin
a:=a-5;
b:=b-5;
end;
writeln('a - ',a);
writeln('b - ',b);
end.
3) var x: Real;
begin
writeln('Введите x');
readln(x);
if x<4 then writeln(sqrt(x+1));
if x>4 then writeln(2.5*x-2);
if x=4 then writeln(3*(x*x)-1);
end.
Вот держи!!Будут вопросы, задавай... :D
Var
i, a, b, n, n2, j: longint;
s: string;
flag: boolean;
begin
Write('Введите через пробел границы диапазона: ');
Readln(a, b);
if b < a then begin n := a; a := b; b := n end;
if a < 11 then a := 11;
for i := a to b do
begin
Str(i, s);
n := Length(s); n2 := n div 2; flag := true; j := 1;
repeat
flag := (s[j] = s[n - j + 1]);
j := j + 1
until (not flag) or (j > n2);
if flag then Write(i, ' ')
end;
end.
Тестовое решение:
Введите через пробел границы диапазона: 800 1500
808 818 828 838 848 858 868 878 888 898 909 919 929 939 949 959 969 979 989 999 1001 1111 1221 1331 1441
7 бук - по 8 бит на каждую (но не факт, кодировка не указана)
56 бит