1 задача: //PascalABC.NET var s1,s2,s3:string; m,i,i2:integer; function _case(s:string):integer; begin if s='тысяча' then _case:=1000; if s='девятьсот' then _case:=900; if s='восемьсот' then _case:=800; if s='семьсот' then _case:=700; if s='шестьсот' then _case:=600; if s='пятьсот' then _case:=500; if s='четыреста' then _case:=400; if s='триста' then _case:=300; if s='двести' then _case:=200; if s='сто' then _case:=100; if s='девяносто' then _case:=90; if s='восемьдесят' then _case:=80; if s='семьдесят' then _case:=70; if s='шестьдесят' then _case:=60; if s='пятьдесят' then _case:=50; if s='сорок' then _case:=40; if s='тридцать' then _case:=30; if s='двадцать' then _case:=20; if s='девятнадцать' then _case:=19; if s='восемнадцать' then _case:=18; if s='семнадцать' then _case:=17; if s='шестнадцать' then _case:=16; if s='пятнадцать' then _case:=15; if s='четырнадцать' then _case:=14; if s='тринадцать' then _case:=13; if s='двенадцать' then _case:=12; if s='одиннадцать' then _case:=11; if s='десять' then _case:=10; if s='девять' then _case:=9; if s='восемь' then _case:=8; if s='семь' then _case:=7; if s='шесть' then _case:=6; if s='пять' then _case:=5; if s='четыре' then _case:=4; if s='три' then _case:=3; if s='два' then _case:=2; if s='один' then _case:=1; end; begin Readln(s1); i:=Pos(' ',s1); i2:=Pos(' ',s1,i+1); if i>0 then if i2>0 then begin s2:=copy(s1,i+1,i2-i-1); s3:=copy(s1,i2+1,length(s1)-i2); end else begin s2:=copy(s1,i+1,length(s1)-i); s3:=''; end; delete(s1,i,length(s1)); Writeln(_case(s1)+_case(s2)+_case(s3)); end.
// PascalABC.NET 3.1, сборка 1213 от 04.04.2016 begin var m,n:integer; Write('Ввведите число строк и столбцов: '); Read(m,n); var a:=MatrixRandom(m,n,-99,99); var Vrow:=ArrFill(m,0); var Vcol:=ArrFill(n,0.0); for var i:=0 to m-1 do begin var max:=-100; for var j:=0 to n-1 do begin Write(a[i,j]:4); if a[i,j]>max then max:=a[i,j] end; Writeln; Vrow[i]:=Max end; Writeln('Вектор из наибольших значений строк'); Vrow.Println; for var j:=0 to n-1 do begin var s:=a[0,j]; for var i:=1 to m-1 do s+=a[i,j]; Vcol[j]:=s/m end; Writeln('Вектор из средних арифметических по столбцам'); Vcol.Println end.
//PascalABC.NET
var
s1,s2,s3:string;
m,i,i2:integer;
function _case(s:string):integer;
begin if s='тысяча' then _case:=1000; if s='девятьсот' then _case:=900; if s='восемьсот' then _case:=800; if s='семьсот' then _case:=700; if s='шестьсот' then _case:=600; if s='пятьсот' then _case:=500; if s='четыреста' then _case:=400; if s='триста' then _case:=300; if s='двести' then _case:=200; if s='сто' then _case:=100; if s='девяносто' then _case:=90; if s='восемьдесят' then _case:=80; if s='семьдесят' then _case:=70; if s='шестьдесят' then _case:=60; if s='пятьдесят' then _case:=50; if s='сорок' then _case:=40; if s='тридцать' then _case:=30; if s='двадцать' then _case:=20; if s='девятнадцать' then _case:=19; if s='восемнадцать' then _case:=18; if s='семнадцать' then _case:=17; if s='шестнадцать' then _case:=16; if s='пятнадцать' then _case:=15; if s='четырнадцать' then _case:=14; if s='тринадцать' then _case:=13; if s='двенадцать' then _case:=12; if s='одиннадцать' then _case:=11; if s='десять' then _case:=10; if s='девять' then _case:=9; if s='восемь' then _case:=8; if s='семь' then _case:=7; if s='шесть' then _case:=6; if s='пять' then _case:=5; if s='четыре' then _case:=4; if s='три' then _case:=3; if s='два' then _case:=2; if s='один' then _case:=1;
end;
begin
Readln(s1);
i:=Pos(' ',s1);
i2:=Pos(' ',s1,i+1);
if i>0 then if i2>0 then begin s2:=copy(s1,i+1,i2-i-1); s3:=copy(s1,i2+1,length(s1)-i2); end else begin s2:=copy(s1,i+1,length(s1)-i); s3:=''; end;
delete(s1,i,length(s1));
Writeln(_case(s1)+_case(s2)+_case(s3));
end.
begin
var m,n:integer;
Write('Ввведите число строк и столбцов: ');
Read(m,n);
var a:=MatrixRandom(m,n,-99,99);
var Vrow:=ArrFill(m,0);
var Vcol:=ArrFill(n,0.0);
for var i:=0 to m-1 do begin
var max:=-100;
for var j:=0 to n-1 do begin
Write(a[i,j]:4);
if a[i,j]>max then max:=a[i,j]
end;
Writeln;
Vrow[i]:=Max
end;
Writeln('Вектор из наибольших значений строк');
Vrow.Println;
for var j:=0 to n-1 do begin
var s:=a[0,j];
for var i:=1 to m-1 do s+=a[i,j];
Vcol[j]:=s/m
end;
Writeln('Вектор из средних арифметических по столбцам');
Vcol.Println
end.
Тестовое решение:
Ввведите число строк и столбцов: 5 8
-82 67 -78 27 69 -80 85 34
70 -82 -89 -30 -57 31 14 33
-4 -1 -93 -21 81 -66 48 31
58 18 -40 -63 -68 40 46 -44
85 46 31 -61 1 43 2 -94
Вектор из наибольших значений строк
85 70 81 58 85
Вектор из средних арифметических по столбцам
25.4 9.6 -53.8 -29.6 5.2 -6.4 39 -8