var
i,j: integer; // их удаляем
k,l: integer;
M,N: integer; // М строк на N столбцов
//Matrix - матрица M x N с нумерацией от 1
for k:=i+1 to M do
for l:=1 to j-1 do
Matrix[k-1,l]:=Matrix[k,l];
for l:=j+1 to N do
for k:=1 to i-1 do
Matrix[k,l-1]:=Matrix[K,l];
for k:=i+1 to M do
for l:=j+1 to N do
Matrix[k-1,l-1]:=Matrix[k,l];
нетипизир. параметры
кто-нить может разъяснить что к чему? при чем тут нетип. параметры?
кстати, там запутано дается задание, но думаю еще возможно это делается с подключением модуля.
Цитата:
Originally posted by U-rique
задача: составить подпрограмму удаления из матрицы N*M i-строки и j-го столбца (использовать нетипизированные параметры). Применить ее к матрице, состоящей из случайных чисел.
кто-нить может разъяснить что к чему? при чем тут нетип. параметры?
кстати, там запутано дается задание, но думаю еще возможно это делается с подключением модуля.
задача: составить подпрограмму удаления из матрицы N*M i-строки и j-го столбца (использовать нетипизированные параметры). Применить ее к матрице, состоящей из случайных чисел.
кто-нить может разъяснить что к чему? при чем тут нетип. параметры?
кстати, там запутано дается задание, но думаю еще возможно это делается с подключением модуля.
Я так полагаю, у тебя в функцию подаются указатель на матрицу N*M и её размерность.Т.е. функция должна обрабатывать ЛЮБЫЕ матрицы.
Цитата:
Originally posted by hardcase
Я так полагаю, у тебя в функцию подаются указатель на матрицу N*M и её размерность.Т.е. функция должна обрабатывать ЛЮБЫЕ матрицы.
Я так полагаю, у тебя в функцию подаются указатель на матрицу N*M и её размерность.Т.е. функция должна обрабатывать ЛЮБЫЕ матрицы.
нет, скорее всего задачу нужно решить без использования указателей. :\
я думаю в функцию размерность можно и не давать ("подпрограмма удаления бла-бла.."), а надо давать номера удаляемой строки и столбца. но я не могу понять как здесь используется типизир. параметры...
Цитата:
Originally posted by U-rique
... я не могу понять как здесь используется типизир. параметры...
... я не могу понять как здесь используется типизир. параметры...
Так всё-таки параметры типизированные или нетипизированные?
А подпрограмма удаления строки и столбца - тривиальна.
Код:
что алгоритм удаления строк/столбцов даже сам ВВП сможет написать - я и сам знаю.
мне задача неясна! для чего здесь нужны нетипизир. парам-ы.. и как с ними оформлять это все в подпрограмме(?модуле?).. :\
Код:
const
M = ...;
N = ...;
type
TMatrix = array[1..M] of array[1..N] of integer;
procedure DeleteRowCol(var Mtx; I,J: integer);
var Matrix: TMatrix absolute Mtx;
begin
...
end;
M = ...;
N = ...;
type
TMatrix = array[1..M] of array[1..N] of integer;
procedure DeleteRowCol(var Mtx; I,J: integer);
var Matrix: TMatrix absolute Mtx;
begin
...
end;
Я вот тока не понял, тебе надо универсальную процедуру, или вот такую, которую я привёл?
Написание универсальной процедуры осложнено тем, что если мы используем статические массивы, то относительный адрес элемента [i,j] будтет различальтся в каждом отдельном случае.
А про динамические ты ничего не говорил.
я до конца еще не въехал, но вроде то, что нужно..
ты правильно меня понял - тут не должно быть динамики.
кстати, эт что? :???:
Код:
type
TMatrix = array[1..M] of array[1..N] of integer;
TMatrix = array[1..M] of array[1..N] of integer;
или это тоже самое, что
Код:
type
TMatrix = array[1..M, 1..N] of integer;
TMatrix = array[1..M, 1..N] of integer;
:roll:
Код:
type
TMatrix = array[1..M] of array[1..N] of integer;
type
TMatrix = array[1..M, 1..N] of integer;
TMatrix = array[1..M] of array[1..N] of integer;
type
TMatrix = array[1..M, 1..N] of integer;
Эти объявления практически эквивалентны и к матрице в любом случае можно обращатся как
Код:
M[i,j]
M[j]
M[j]