Const n=20; var a: array[1..20] of integer = ( 20, 9, 24, 12, 23, 24, 21, 17, 1, 15, 25, 8, 21, 2, 6, 4, 12, 16, 8, 13); i,j,k: integer; begin for i:=1 to n-1 do for j:=i+1 to n do if a[j]<a[i] then swap(a[i],a[j]); writeln('отсортированный массив: '); for i:=1 to n do write(a[i],' '); writeln; k:=0; i:=1; j:=2; repeat if a[j]-a[i]>=3 then begin writeln('пара: ',a[i],' ',a[j]); i:=j; inc(k); end; inc(j); until j>n; writeln('количество солдат:k+1); end.
// PascalABC.NET 3.3, сборка 1540 от 16.09.2017 // Внимание! Если программа не работает, обновите версию!
begin var (m,n):=ReadInteger2('Количество строк и столбцов в матрице:'); var a:=MatrGen(m,n,(i,j)->(Random(9000)-4500)/100); Writeln('*** Исходная матрица ***'); a.Println(7,2); Writeln(7*a.ColCount*'-'); var b:=a.Cols.Select(c->c.Where(t->t>=0).Count).ToArray; if b.Length=0 then begin Writeln('В матрице все элементы отрицательные'); Exit end; b.Println; var f1:file of integer; Assign(f1,'f1.bin'); Rewrite(f1); foreach var t in b do Write(f1,t); Reset(f1); var (s,k):=(0,0); var v:integer; while not Eof(f1) do begin Read(f1,v); s+=v; k+=1 end; f1.Close; var avg:=s/k; var f2:file of real; Assign(f2,'f2.bin'); Rewrite(f2); var q:=a.ElementsByRow.Where(t->t<=avg); q.Println; foreach var c in q do Write(f2,c); f2.Close end.
A$="PROGRAMMA"
B$=MID$(A$,2,3)
C$=MID$(A$,5,3)+MID$(A$,1,1)+RIGHT$(A$,1)
?B$, C$