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

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

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

> Создать построчно матрицу., Решить с помощью директивы absolute
сообщение
Сообщение #1





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

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


Будьте так добры. Используя директиву absolute, создать построчно с помощью
подпрограммы матрицы 5х5 и 2х3.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2





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

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


вроде прогу написала, вот что вышло

program matr;
procedure MatrA(var z);
var
MasA:array [1..5,1..5] of integer absolute z;
i,j:integer;
begin
for i:=1 to 5 do
for j:=1 to 5 do
MasA[i,j]:=Random(10);
for i:=1 to 5 do
begin
for j:=1 to 5 do
write(masA[i,j], ' ');
end;
end;
procedure MatrB(var t);
var
MasB:array [1..2,1..3] of integer absolute t;
i,j:integer;
begin
for i:=1 to 2 do
for j:=1 to 3 do
MasB[i,j]:=Random(10);
for i:=1 to 2 do
begin
for j:=1 to 3 do
write(MasB[i,j] , ' ');
end;
end;
var
x:array [1..5,1..5] of integer;
y:array [1..2,1..3] of integer;
begin
writeln('matrix A 5*5');
writeln('----------------------------');
MatrA(x);
writeln('matrix B 2*3');
writeln('----------------------------');
MatrB(y);
readln
end.


Добавлено через 4 мин.
она работает)мне преподаватель задал на защиту переделать ее, чтобы подпрограмма только создавала матрицу, а выводила ее основная программа. помогите пожалуйста к завтрашнему дню)

М
Тэги!

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


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

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

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


Цитата(дождинка @ 15.12.2009 20:37) *
переделать ее, чтобы подпрограмма только создавала матрицу, а выводила ее основная программа. помогите пожалуйста к завтрашнему дню)
дождинка, я искренне удивлен: если ты сама написала прогу, неужели тебе трудно переставить печать из процедуры в основную часть?.. blink.gif

Впрочем, посмотрев код, я понял, что имел в виду твой преподаватель.. Неправильно это - создавать отдельную процедуру для каждого размера. Вот тебе код, разбирайся. Тут одна процедура для создания матрицы и одна для печати. Размеры матрицы передаются в параметрах.

program Matrix;

procedure FillMatrix(var Matrix; n,m: integer);
var
x: array [1..$7FF0] of integer absolute Matrix; {примерно максимальный размер массива в TP/BP}
i,j: integer;
begin
for i:=1 to n do
for j:=1 to m do
x[(i-1)*m+j]:=Random(10) {вручную пересчитываем индексы}
end;


procedure ShowMatrix(var Matrix; n,m: integer);
var
x: array [1..$7FF0] of integer absolute Matrix;
i,j: integer;
begin
for i:=1 to n do begin
for j:=1 to m do write(x[(i-1)*m+j]:4);
WriteLn
end
end;


var
A: array [1..5,1..5] of integer;
B: array [1..2,1..3] of integer;

begin
writeln('matrix A 5*5');
writeln('----------------------------');
FillMatrix(A,5,5);
ShowMatrix(A,5,5);
WriteLn;
writeln('matrix B 2*3');
writeln('----------------------------');
FillMatrix(B,2,3);
ShowMatrix(B,2,3);
readln
end.


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

Сообщений в этой теме


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

 





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