IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Передача параметров в процедуру, по значению, по адресу и в глобальных перменных
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 10
Пол: Мужской

Репутация: -  0  +


В общем задали задание написать процедуры с параметрами переменных, без параметров и параметрами значений. У меня в программе расписаны все 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.


 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Не понял, что именно у тебя (и чем) забивается? Запустил программу, получил исходный массив, и три совершенно одинаковых результата. Тебе надо исходный сохранить, который до перестановки столбцов, что-ли?

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;

// работаешь дальше

 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 10
Пол: Мужской

Репутация: -  0  +


ну да исходник сохранить, просто я коряво обьясняю sad.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


М
Тема переименована.
Просьба уважать правила (правила Форума, п.4, и правила раздела Задачи, п.1)



--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 28.10.2020 19:41
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name