Составить программу формирования динамического прямоугольного масси-ва А из n строк и m столбцов случайными числами, сделать возможным его ре-дактирование. Вычислить суммы элементов в каждой строке до k-ого столбца и вставить их перед k-столбцом.
Delphi 7


Аноним: Окно или консоль?
morfisleep: Консоль

Ответы

Ответ дал: Аноним
0
{$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 RE();
Begin
Write('i = ');ReadLn(i);
Write('j = ');ReadLn(j);
Write('A[',i,',',j,'] = ');ReadLn(A[i,j]);
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.
Вас заинтересует