N=8, i=3
при N=32, i=5
при N=64, i=6....128 - i=7, 256-i=8
begin
var (a, b, c) := (1.5, 2.0, -0.75);
var x := ReadReal('Введите x');
var y := a * Exp(-Sqrt(x)) * Cos(b * x) + c;
Println(y);
(a, b, c) := (2, 0.7, 0.5);
var t := ReadReal('Введите t');
var z := a * Cos(b * t * Sin(t)) + c;
Println(z);
(a, b) := (2, 1.2);
z := Sqrt(a + b * Exp(Sin(x)) + 1);
Println(z);
end.
// PascalABC.NET 3.1, сборка 1230 от 27.04.2016
procedure MatPrint(a:array[,] of integer);
begin
var maxcol:=Length(a,1)-1;
for var i:=0 to Length(a,0)-1 do begin
for var j:=0 to maxcol do Print(a[i,j]);
Writeln
end
end;
begin
var m:=ReadInteger('Кол-во строк:');
var n:=ReadInteger('Кол-во столбцов:');
var t:=MatrixRandom(m,n,10,99); // инициализация матрицы
MatPrint(t);
var a:=new real[n]; // массив для средних по столбцам
for var j:=0 to n-1 do begin
var s:=0;
for var i:=0 to m-1 do s+=t[i,j];
a[j]:=s/m
end;
// cортированная последовательность индексов столбцов
var ai:=a.Select((x,i)->Rec(x,i)).SortedDescending
.Select(x->x.Item2).ToArray;
// cоздаем промежуточный массив
var u:array[,] of integer; SetLength(u,m,n);
for var j:=0 to n-1 do
for var i:=0 to m-1 do u[i,j]:=t[i,ai[j]];
t:=Copy(u); // вернем назад данные в исходный массив
Writeln;
MatPrint(t);
end.
<u><em>Тестовое решение</em></u>
Кол-во строк: 5
Кол-во столбцов: 8
24 30 70 85 92 32 11 25
83 92 64 51 28 47 10 22
50 14 76 84 23 63 64 39
30 22 84 59 55 32 58 63
80 36 53 74 80 82 84 33
85 70 92 24 32 11 30 25
51 64 28 83 47 10 92 22
84 76 23 50 63 64 14 39
59 84 55 30 32 58 22 63
74 53 80 80 82 84 36 33
двое детей поплывут вместе. один останется, другой поплывет обратно. останется поплывет мать. обратно поплывет ребенок. дети поплывут обратно. один останется другой поплывет за отцом. ребенок останется поплывет отец. затем опять пеплывет ребенок за братом и вместе они вернутся.