@toyou

Почему размерность матрицы остается прежней?

program Project1;
//К данной матрице А порядка n добавьте нулевой и n + 1-й столбцы с элементами, равными 0.

{$APPTYPE CONSOLE}

uses
SysUtils;

type
matr=array[1..10,1..10] of Real;
stroka=string[30];
var
a, a2:matr;
n,i,j,m:Integer;
flag:Boolean;
procedure vvodmatr(var a:matr;ntd:stroka;var n:Integer; fl1,fl2:Boolean);
var
i,j:Integer;
t:Text;
begin
if fl1 then
begin
assign(t,ntd);
Reset(t);
end;
read(t,n,n);
for i:=1 to n do
begin
for j:=1 to n do
read(t,a[i,j]);
end;
if fl2 then
close(t);
end;

procedure dobavlenie(a:matr;n:Integer; var a2:matr);
var
i,j:integer;
begin
m:=n+2;
for i:=1 to n do
a2[i,m]:=0;
begin
for j:=m downto 1 do
for i:=1 to n do
a2[i,j+1]:=a[i,j];
end;
for i:=1 to n do
a2[i,1]:=0;

end;

procedure vivodmatr(ntd:stroka;a:matr;n:Integer;ntd2:stroka;const flag:boolean);
var
i,j:integer;
t2:Text;
begin
Assign(t2,ntd);
if flag then
Rewrite(t2)
else Append(t2);
Writeln(t2,ntd2);
for i:=1 to n do
begin
for j:=1 to n do
write(t2,a[i,j]:8:2);
writeln(t2);
end;
if ntd='con' then
Readln
else
Close(t2);
end;

begin
vvodmatr(a, 'ntd.txt', n,True,false);
flag:=True;
vivodmatr('ntd2.txt',a,n,'матрица а',flag);
dobavlenie(a,n,a2);
flag:=False;
vivodmatr('ntd2.txt',a2,n,'матрица а2',flag);

5a0889f0856dc948349864.png
  • Вопрос задан
  • 132 просмотра
Пригласить эксперта
Ответы на вопрос 1
AnnTHony
@AnnTHony
Интроверт
program mtrx;
const
  N = 5;
var
  matrix: array of array of integer;
  i, j: integer;
begin
  SetLength(matrix, N);
  for i := 0 to N - 1 do
    SetLength(matrix[i], N);

  Randomize;
  
  for i := 0 to N - 1 do
    begin
      for j := 0 to N - 1 do
        begin
          matrix[i, j] := Random(100);
          Write(matrix[i, j]:4);
        end;
      WriteLn();
    end;
  
  WriteLn();
  
  for i := 0 to N - 1 do
    SetLength(matrix[i], N + 2);
  
  for i := 0 to N - 1 do
    for j := N downto 0 do
      matrix[i, j + 1] := matrix[i, j];
  
  for i := 0 to N - 1 do
    begin
      matrix[i, 0] := 0;
      for j := 0 to N + 1 do
        Write(matrix[i, j]:4);
      WriteLn();
    end;
end.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы