// 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.
романтика, аниматор, митрофан, романтик, антимир,
инфаркт, камфора, каротин, картина, комната
марафон, мартини, матрона, намотка, окраина
ритмика, фанатик, фонарик, аконит, амфора
анатом, арника, аромат, африка, карман
картон, катион, катран, кафтан, комар
микрон
криптография:
пиктография, типография, риторика,типограф,атрофия
киприот, порфира, тропики, гарпия, готика
график, графит, коряга, оптика, партия
пирога, портик, портки, приток, прокат
прятки, рапорт, трагик, трафик, тропик
тряпка, фактор, апорт, гопак, игрок
Декодирование:
кодирование, единоверка, диковина, иноверка, краденое
вареник, видение, воронка, вредина, дарение
двоение, дворник, доверие, доводка, кивание
киновед, конвоир, коневод, краевед, родинка
водник, ворона, дверка, дворик, дерево
диакон, доение, дракон, древко, дровни
ендова
// Внимание! Если программа не работает, обновите версию!
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.
Пример
Количество строк и столбцов в матрице: 4 9
*** Исходная матрица ***
-27.55 14.63 25.01 35.00 34.53 -24.49 -43.20 35.73 35.05
-9.96 -40.27 6.45 43.42 4.31 21.48 17.16 40.35 -3.58
-28.37 -11.17 32.04 26.07 -29.32 -24.20 -7.75 41.32 9.54
34.89 37.10 -26.09 22.64 16.69 -28.75 19.16 22.66 7.52
---------------------------------------------------------------
1 2 3 4 3 1 2 4 3
-27.55 -24.49 -43.2 -9.96 -40.27 -3.58 -28.37 -11.17 -29.32 -24.2 -7.75 -26.09 -28.75