Даны матрицы А(3,3) и В(4,4). Сформировать новые матрицы D(3,3) и C(4,4), в которых на главных диагоналях матриц располагаются суммы столбцов матриц А(3,3) и В(4,4) соответственно. Остальные элементы массивов D и C соответствуют элементам матриц А и В. Формирование нового массива оформить в виде процедуры.
заранее спасибо!
Другие языки программирования и технологии
Люди разбирающиеся в паскале, нужна помощь!
И что сложного? Не знаешь что такое главная диагональ или на бумажке лень нарисовать 9ть и 16ть клеток?
Причём тут паскаль вообще не понял, это Алгебра 1 курса универа
Причём тут паскаль вообще не понял, это Алгебра 1 курса универа
const Size = 10;
type tArr = array [1..Size, 1..Size] of Integer;
procedure Generate(var A : tArr; Asize : Byte);
var Row, Col : Byte;
begin
for Row := 1 to Asize do
for Col := 1 to Asize do
A[Row, Col] := Random(100);
end;
procedure OutArr(Mess : String; A : tArr; Asize : Byte);
var Row, Col : Byte;
begin
WriteLn(Mess);
for Row := 1 to Asize do begin
for Col := 1 to Asize do Write(A[Row, Col]:4); WriteLn;
end; WriteLn;
end;
procedure Former(Asize : Byte; A : tArr; var B : tArr);
var Row, Col : Byte;
Sum : Integer;
begin
for Col := 1 to Asize do begin Sum := 0;
for Row := 1 to Asize do begin B[Row, Col] := A[Row, Col]; Sum := Sum + A[Row, Col];
B[Col, Col] := Sum; end;
end;
end;
var ADsize, BCsize : Byte;
A, B, C, D : tArr;
begin
{ Генерируем массивы A и B }
Randomize;
ADsize := 3; Generate(A, ADsize);
BCsize := 4; Generate(B, BCsize);
{ Выводим массивы A и B }
OutArr('Массив A', A, ADsize);
OutArr('Массив B', B, BCsize);
{ Формируем массивы C и D }
Former(ADsize, A, D);
Former(BCsize, B, C);
{ Выводим массивы D и C }
OutArr('Массив D', D, ADsize);
OutArr('Массив C', C, BCsize);
end.
Результат работы программы:
Массив A
27 8 37
82 31 35
87 61 68
Массив B
23 79 31 84
56 84 70 5
78 29 0 16
23 24 7 66
Массив D
196 8 37
82 100 35
87 61 140
Массив C
180 79 31 84
56 216 70 5
78 29 108 16
23 24 7 171
type tArr = array [1..Size, 1..Size] of Integer;
procedure Generate(var A : tArr; Asize : Byte);
var Row, Col : Byte;
begin
for Row := 1 to Asize do
for Col := 1 to Asize do
A[Row, Col] := Random(100);
end;
procedure OutArr(Mess : String; A : tArr; Asize : Byte);
var Row, Col : Byte;
begin
WriteLn(Mess);
for Row := 1 to Asize do begin
for Col := 1 to Asize do Write(A[Row, Col]:4); WriteLn;
end; WriteLn;
end;
procedure Former(Asize : Byte; A : tArr; var B : tArr);
var Row, Col : Byte;
Sum : Integer;
begin
for Col := 1 to Asize do begin Sum := 0;
for Row := 1 to Asize do begin B[Row, Col] := A[Row, Col]; Sum := Sum + A[Row, Col];
B[Col, Col] := Sum; end;
end;
end;
var ADsize, BCsize : Byte;
A, B, C, D : tArr;
begin
{ Генерируем массивы A и B }
Randomize;
ADsize := 3; Generate(A, ADsize);
BCsize := 4; Generate(B, BCsize);
{ Выводим массивы A и B }
OutArr('Массив A', A, ADsize);
OutArr('Массив B', B, BCsize);
{ Формируем массивы C и D }
Former(ADsize, A, D);
Former(BCsize, B, C);
{ Выводим массивы D и C }
OutArr('Массив D', D, ADsize);
OutArr('Массив C', C, BCsize);
end.
Результат работы программы:
Массив A
27 8 37
82 31 35
87 61 68
Массив B
23 79 31 84
56 84 70 5
78 29 0 16
23 24 7 66
Массив D
196 8 37
82 100 35
87 61 140
Массив C
180 79 31 84
56 216 70 5
78 29 108 16
23 24 7 171
ну я бы сделал на паскале, с комментариями, даже лично объяснил бы. Это будет стоить всего 100р.
Похожие вопросы
- задача на паскале нужна помощь
- Двумерный массив/Турбо паскаль/нужна помощь=( А(12)Заменить отрицательные элементы стоящие на чётных местах цифрой 8.
- Задача на паскаль.нужна помощь
- паскаль, нужна помощь!
- Нужна помощь с паскалем!
- нужна помощь.кто хорошо разбирается в паскале
- кто разбирается в паскале??У мя турбо паскаль 7.0 помогите!!!
- Здравствуйте нужна помощь по программе на языке паскаль
- Нужна помощь в решении задачки на паскале )
- очень срочно нужна помощь по паскалю сижу на экзамене. дома буду обязательно отблагодарю и скину деньги если что