Procedure ShellStr(var s: string);
{ сортирует символы строки методом Шелла }
var
i, j, n, step: integer;
c: char;
begin
s := Trim(s);
n := Length(s);
step := n div 2;
while step > 0 do
begin
for j := n - step downto 1 do
begin
i := j;
while i <= n - step do
begin
if s[i] > s[i + step] then
begin
c := s[i];
s[i] := s[i + 1];
s[i + 1] := c
end;
i := i + step
end
end;
step := step div 2
end
end;
procedure TrimNullsLeft(var s: string);
{ Усекает левые (незначащие нули) в строке s }
var
i, n: integer;
begin
i := 1; n := Length(s);
while (s[i] = '0') do i := i + 1;
s := Copy(s, i, n - i + 1)
end;
var
p: integer;
s, M, N: string;
f: text;
begin
Assign(f, 'input.txt');
Reset(f);
Readln(f, s);
Close(f);
Assign(f, 'output.txt');
Rewrite(f);
s := Trim(s);
p := Pos(' ', s);
M := Copy(s, 1, p - 1);
N := Copy(s, p + 1, Length(s) - p);
s := M + N;
ShellStr(s);
TrimNullsLeft(s);
Writeln(f, s);
Close(f);
Writeln('Программа завершила работу')
end.
раз три части, значит делением на три
3: 81
3:27
3:9
3:3.
На каждую получается по два взвешивания. и исходя из этого находим ответ - 8
var
i, s: byte;
begin
<em>for i := 2 to 10 do</em>
<em> s += i;</em>
writeln(s);
<span>end.</span>
Program aaa;
var A: array[1..100,1..100] of integer;
B,C: array[1..100] of integer;
D: array[1..100] of real;
m,n,s,p: integer; sa,x: real; i,j: byte;
begin
randomize;
write ('Введите M и N: ');
readln (m,n);
writeln;
writeln ('Исходный массив:');
s:=0; p:=1; sa:=MaxReal;
for i:=1 to m do begin
for j:=1 to n do begin
A[i,j]:=random(0,11);
write (A[i,j]:5);
s:=s+A[i,j];
p:=p*A[i,j];
if j>1
then begin
x:=(A[i,j]+A[i,j-1])/2;
if sa>x then sa:=x;
end;
end;
B[i]:=s;
C[i]:=p;
D[i]:=sa;
s:=0; p:=1; sa:=MaxReal;
writeln
end;
writeln;
writeln ('Массив B - суммы строк:');
for i:=1 to m do
write (B[i]:7);
writeln;
writeln;
writeln ('Массив C - произведения строк:');
for i:=1 to m do
write (C[i]:7);
writeln;
writeln;
writeln ('Массив D - наименьшие средние арифметические строк:');
for i:=1 to m do
write (D[i]:7);
end.
--------------------
Введите M и N: 5 4
Исходный массив:
2 6 10 11
10 6 4 7
8 6 3 7
2 9 8 4
6 7 9 5
Массив B - суммы строк:
29 27 24 23 27
Массив C - произведения строк:
1320 1680 1008 576 1890
Массив D - наименьшие средние арифметические строк:
4 5 4.5 5.5 6.5