Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

нетипизир. параметры

13K
12 января 2006 года
U-rique
12 / / 11.12.2005
задача: составить подпрограмму удаления из матрицы N*M i-строки и j-го столбца (использовать нетипизированные параметры). Применить ее к матрице, состоящей из случайных чисел.

кто-нить может разъяснить что к чему? при чем тут нетип. параметры?
кстати, там запутано дается задание, но думаю еще возможно это делается с подключением модуля.
5
12 января 2006 года
hardcase
4.5K / / 09.08.2005
Цитата:
Originally posted by U-rique
задача: составить подпрограмму удаления из матрицы N*M i-строки и j-го столбца (использовать нетипизированные параметры). Применить ее к матрице, состоящей из случайных чисел.

кто-нить может разъяснить что к чему? при чем тут нетип. параметры?
кстати, там запутано дается задание, но думаю еще возможно это делается с подключением модуля.


Я так полагаю, у тебя в функцию подаются указатель на матрицу N*M и её размерность.Т.е. функция должна обрабатывать ЛЮБЫЕ матрицы.

13K
13 января 2006 года
U-rique
12 / / 11.12.2005
Цитата:
Originally posted by hardcase
Я так полагаю, у тебя в функцию подаются указатель на матрицу N*M и её размерность.Т.е. функция должна обрабатывать ЛЮБЫЕ матрицы.



нет, скорее всего задачу нужно решить без использования указателей. :\
я думаю в функцию размерность можно и не давать ("подпрограмма удаления бла-бла.."), а надо давать номера удаляемой строки и столбца. но я не могу понять как здесь используется типизир. параметры...

5
14 января 2006 года
hardcase
4.5K / / 09.08.2005
Цитата:
Originally posted by U-rique
... я не могу понять как здесь используется типизир. параметры...


Так всё-таки параметры типизированные или нетипизированные?
А подпрограмма удаления строки и столбца - тривиальна.

Код:
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];
13K
14 января 2006 года
U-rique
12 / / 11.12.2005
бл*тъ, конечно нетипизированные. оговорился. тема ведь как называется? ;)

что алгоритм удаления строк/столбцов даже сам ВВП сможет написать - я и сам знаю.
мне задача неясна! для чего здесь нужны нетипизир. парам-ы.. и как с ними оформлять это все в подпрограмме(?модуле?).. :\
5
14 января 2006 года
hardcase
4.5K / / 09.08.2005
Код:
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;

Я вот тока не понял, тебе надо универсальную процедуру, или вот такую, которую я привёл?

Написание универсальной процедуры осложнено тем, что если мы используем статические массивы, то относительный адрес элемента [i,j] будтет различальтся в каждом отдельном случае.
А про динамические ты ничего не говорил.
13K
14 января 2006 года
U-rique
12 / / 11.12.2005
во!
я до конца еще не въехал, но вроде то, что нужно..

ты правильно меня понял - тут не должно быть динамики.

кстати, эт что? :???:
 
Код:
type
  TMatrix = array[1..M] of array[1..N] of integer;

или это тоже самое, что
 
Код:
type
  TMatrix = array[1..M, 1..N] of integer;

:roll:
5
15 января 2006 года
hardcase
4.5K / / 09.08.2005
 
Код:
type
  TMatrix = array[1..M] of array[1..N] of integer;

type
  TMatrix = array[1..M, 1..N] of integer;

Эти объявления практически эквивалентны и к матрице в любом случае можно обращатся как
 
Код:
M[i,j]
  M[j]
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог