{$APPTYPE CONSOLE} Var A:array of array of real; n,m,i,j,C:integer; Procedure BBODGRANIC(); Begin Write('n = ');ReadLn(n); Write('m = ');ReadLn(m); SetLength(A,n,m); End;
Procedure ZAPOLNENIERND(); Var i,j:integer; Begin Randomize; For i:= 0 to n-1 do For j:= 0 to m-1 do A[i,j]:=random*21-10; End;
Procedure BbIBOD(); Var i,j:integer; Begin Write('':3); For i:= 0 to m-1 do Write(i:5,' '); WriteLn; For i:= 0 to n-1 do Begin Write(i:2,' '); For j:= 0 to m-1 do Write(A[i,j]:5:1,' '); WriteLn; End; End;
Procedure SUMDOk(); Var k,i,j:integer; S:real; Begin Repeat Write('k = ');ReadLn(k); Until k > 0; m:=m+1; SetLength(A,n+1,m+1); if k > m then k:=m; For i:= 0 to n-1 do Begin S:=0; For j:= 0 to k-1 do S:=S+A[i,j]; For j:= m downto k do A[i,j]:=A[i,j-1]; A[i,k-1]:=S; End; End;
Begin BBODGRANIC(); ZAPOLNENIERND(); BbIBOD(); Repeat WriteLn; WriteLn('1 - изменить размеры массива'); WriteLn('2 - заполнить массив случайными числами'); WriteLn('3 - ввести новое значение заданного элемента'); WriteLn('4 - вычислить суммы элементов в каждой строке до k-ого столбца и вставить их перед k-столбцом.'); WriteLn('5 - вывод массива'); WriteLn('9 - выход'); ReadLn(C); Case C of 1:BBODGRANIC; 2: Begin ZAPOLNENIERND; BbIBOD; End; 3:RE; 4: Begin SUMDOk(); BbIBOD End; 5:BbIBOD; End Until C = 9; End.
По сути мы имеем числа длины 5 в трочной системе счисления. А вместо 0, Н - 1, Т - 2 первое число ААААА = 00000 = 0 потому на 74 месте будет число 73(в десятичной) = 02201 (в троичной) = АТТАН (в требуемой записи)