Из матриц D(N,M) и Y(N,N) получить одномерный массив Z,записывая в него сначала строки,затем столбцы,содержащие минимальные элементы матриц D и Y
Процедуры и функции:Матрицы. PascalABC
Помогите решить задачку пожалуйста!
- Naeel Maqsudov
- Сообщения: 2570
- Зарегистрирован: 20 фев 2004, 19:17
- Откуда: Moscow, Russia
- Контактная информация:
Если минимальное значение встречается несколько раз, то надо взять строки/столбцы проходящие через первый минимальный, последний минимальный или каждый минимальный элемент
В последнем случае размерность массива Z будет переменной! Какой выделение памяти необходимо использовать? Статическое или динамическое?
И еще, для какой верчсии Pascal нужно решение?
Минимальным считается первый найденный мини
В последнем случае размерность массива Z будет переменной! Какой выделение памяти необходимо использовать? Статическое или динамическое?
И еще, для какой верчсии Pascal нужно решение?
Минимальным считается первый найденный мини
Для PascalABC. по поводу памяти немного не понял.Если в условии ничего не сказано то я так понимаю любое.. 

-
- Сообщения: 526
- Зарегистрирован: 03 янв 2009, 23:17
- Откуда: Voronezh
- Контактная информация:
Если не поняли, то скорее всего нужно использовать статическое выделение._d_D_ писал(а):по поводу памяти немного не понял.
А вообще память можно выделять динамически. Например, когда мы просто пишем в разделе описания переменных, что-то типа:
A:array[1..50] of integer;
, то сразу зарезервируется определенный (в зависимости от типа данных) размер памяти. Причем, после каких-то операций, если нам массив (в нашем случае) уже не нужен, память так и остается занятой. Но бывает случаи когда необходимо использовать память более рационально. Для этого можно описать указатель на какую-то переменную определенного типа или на адрес первого байта области памяти, в которой могут размещаться любые данные вне зависимости от типа. Каждый указатель размещается в сегменте данных или стеке (если он объявлен в подпрограмме) и занимает там 4 байта (все адреса хранятся в виде сегмент : смещение). Т.е. память первоначально выделится лишь под указатель, а под саму переменную после её создания. Если переменная нами больше не используется, мы можем освободить память, занимаемую переменной.
Опираясь на вышеизложенное наш массив можно описать так:
type А=array[1..50] of integer;
var massiv=^A;
Нет религии выше истины
Ну собственно да.Судя по всему статическое...
Я хотя бы на правильном пути?

Код: Выделить всё
Program NN;
const
Nmax=10;
Mmax=15;
type
Tmatr=array[1..Nmax,1..Mmax] of integer;
var
D,Y:Tmatr;
Na,Ma,Nb,Mb,iA,jA,iB,jB:byte;
Procedure EnterMatr (var Matr:tmatr, var N,M:byte ch:char ;)
var i,j:byte;
begin
writeln('Vvedite razmer matrici:',ch);
write('Kolichestvo strok:');
readln('N');
write('Kolichestvo stolbcov:');
readln('M');
for i:=1 to N do
for j:=1 to M do
begin
write(ch,'[',i,',',j,']=');
readln(matr[i,j]);
end
end;
Procedure Minimum (const Matr:tmatr; N,M:byte;var imax,jmax:byte);
Var
i,j:byte;
min:integer;
begin
min:=matr[1,1];
imax:=1;
jmax:=1;
for i:=1 to N do
for j:=1 to M do
if matr[i,j]<min then
begin
min:=matr[i,j];
imax:=i;
jmax:=j;
end
end;
Function???
- Naeel Maqsudov
- Сообщения: 2570
- Зарегистрирован: 20 фев 2004, 19:17
- Откуда: Moscow, Russia
- Контактная информация:
Не совсем.
Во-первых, размер D M на N, A Y - N на N. Или в условии была опечатка?
Во-вторых, в PascalABC сушествуют динамические массивы, для которых можно определять их текущие размеры с помощью функции Length. Лучше написать процедуру для динамического массива. Она не будет зависеть от его размерности.
Во-первых, размер D M на N, A Y - N на N. Или в условии была опечатка?
Во-вторых, в PascalABC сушествуют динамические массивы, для которых можно определять их текущие размеры с помощью функции Length. Лучше написать процедуру для динамического массива. Она не будет зависеть от его размерности.
Нет всё правильно N на N.
Хм.А можно как-нибудь использовать статические массивы?А то не хотелось бы навлекать гнев преподователя и потом ещё отчитывать тонну теории по динамическим массивам.
К тому же уже порядком запутался...
Хм.А можно как-нибудь использовать статические массивы?А то не хотелось бы навлекать гнев преподователя и потом ещё отчитывать тонну теории по динамическим массивам.

К тому же уже порядком запутался...
Помогите!Меня же завтра съедят!!!

Вот этот момент очень интересуетзаписывая в него сначала строки,затем столбцы,содержащие минимальные элементы
