В общем задали задание написать процедуры с параметрами переменных, без параметров и параметрами значений. У меня в программе расписаны все 3 процедуры, а когда буду сдавать то буду просто мнять одну строчку (параметров) и все, но вот в чем беда, у меня исходный массив , ну как бы обьяснить , забиваеться что ли в ходе выполнения имне мол препод намекнул что исходник должен сохраниться, что бы дальше с ним в случае чего можно было работать. Я подумал что можно создать еще один масив пустой, и ему в процедуре присвоить 1 массив и так исходник всегда будет подрукой нокак только пытаюсь это сделать выходит лажа... помогите а?)
Вот моя программа:
const
sizerow = 10;
sizecol = 10;
type
trow = array[1 .. sizerow] of integer;
tmatrix = array[1 .. sizecol] of trow;
var
mx: tmatrix;
i, j: integer;
procedure swapcols(var mx: tmatrix; const i, j: integer);
var T: trow;
begin
T := mx[i]; mx[i] := mx[j]; mx[j] := T
end;
procedure print(var mx: tmatrix);
var i, j: integer;
begin
for i := 1 to sizerow do begin
for j := 1 to sizecol do
write(mx[j][i]:4);
writeln
end;
end;
procedure print1;
var i, j: integer;
begin
for i := 1 to sizerow do begin
for j := 1 to sizecol do
write(mx[j][i]:4);
writeln
end;
end;
procedure print2(mx: tmatrix);
var i, j: integer;
begin
for i := 1 to sizerow do begin
for j := 1 to sizecol do
write(mx[j][i]:4);
writeln
end;
end;
begin
for i := 1 to sizerow do
for j := 1 to sizecol do
mx[i][j] := random(100);
writeln('before:'); print(mx);
swapcols(mx, 1, 5);
writeln('after:'); print(mx);
writeln('bez parametrov:');print1;
writeln('Parametru znachenia:'); print2(mx);
end.
Не понял, что именно у тебя (и чем) забивается? Запустил программу, получил исходный массив, и три совершенно одинаковых результата. Тебе надо исходный сохранить, который до перестановки столбцов, что-ли?
type
trow = array[1 .. sizerow] of integer;
tmatrix = array[1 .. sizecol] of trow;
var
mx: tmatrix;
initial : tmatrix; // Добавляешь, куда сохранять
// ...
for i := 1 to sizerow do
for j := 1 to sizecol do
mx[i][j] := random(100);
// Сохраняешь массив mx в Initial
initial := mx;
// работаешь дальше
ну да исходник сохранить, просто я коряво обьясняю
М | Тема переименована. Просьба уважать правила (правила Форума, п.4, и правила раздела Задачи, п.1) |