Такая проблема,мне необходимо выявить наименьший элемент массива,какой функцией это задаётся.Буду вам очень благодарен.
Vardes, как ты думаешь, FAQ для кого пишется? Для меня?
Читай вот тут: http://forum.pascal.net.ru/index.php?showtopic=2694
Только вот ответа на мой вопрос о наименьшем члене массива я так и не нашёл.
Прошу о помощи.
Ну так воспользуйся поиском, задач на массивы и матрици на форуме решено несколько сотен наверное !
klem4, все есть в FAQ-е:
http://forum.pascal.net.ru/index.php?showtopic=1212&view=findpost&p=15707 (Задача №7)
Ввот столько уже прочитал,а точного ответа я не получил.
Увидел действия только с помощью процедур,но извините я не могу их пока применять,так что вопрос остаётся для меня пока что насущной проблемой. :fire:
ГДЕ тыт тут увидел процедуру, a ?
НУ тоды изваняйте <_< .Видно я в торопях искал,чтож поделаешь я чайник,ПАСИБА за помощь
Вот тут ещё хотел спросить,задаю я к примеру матрицу произвольного размера,для этого мне необходимо поменять константы,определяющие количество строк и столбцов.Для этого я как раз и применяю диррективу ABSOLUTE,вот пример проги:
const
n=100;
m=100;
var
a:array [1..n,1..m] of integer;
b:word absolute n:50; {изменение констант}
d:word absolute m:50;
i,j:integer;
begin
readln(b,d);
for i:=1 to b do for j:=1 to d do
read (a[i,j]);
for i:=1 to b do begin for j:=1 to d do
write(a[i,j]);
writeln;
end;
end.
Vardes, во-первых, как начинающему программеру (ты сам об этом говорил в названии темы) я бы тебе посоветовал пока с Absolute НЕ работать, уж очень это... как бы сказать... нестандартно, что-ли... Это первое.
Второе: директива Absolute предназначена для совмещения адресов переменных... Понимаешь, именно переменных, а не констант, потому что константы НЕ ХРАНЯТСЯ в сегменте данных программы вместе с переменными. Если ты хочешь менять константы, то описывай их как переменные.
Не надо заниматься хаком, это может ОЧЕНЬ мешать, например, при переходе на другой компилятор или на другую платформу...
P.S. Твоя задача решается с использованием динамической памяти (ищи по форуму, я показывал). Только не надо говорить, что это для тебя сложно. Ты сам полез в дебри...
Еще одно: если ты действительно думаешь, что от того, что ты сделал значения m и n поменялись - попробуй сделать вот так:
const:D
n=100;
m=100;
var
a:array [1..n,1..m] of integer;
b:word absolute n:50;
d:word absolute m:50;
i,j:integer;
begin
readln(b,d);
writeln('n = ', n);
writeln('m = ', m);
{ далее - по тексту... }
Вообще, будь внимательнее, старайся разобраться сам, это все не от того, что хочется сделать с разными там absolute, а из-за спешки и невнимательности.
Я вообще не понял, зачем в той программе вводить искусственные переменные. Константам пользоваться нельзя?
Так вот от неимения большого опыта думал,что для того,чтобы задать размер матрицы,непременно надо изменять переменные,вот и вычитал в инете про ABSOLUTE,только вот теперь понял,что константой мона,как переменной оперировать,только меньшего размера.
Вот тут ещё проблемка,мне необходимо поменять строки местами.Если знать,какого порядка у тебя матрица,то легко мона адать замену друг на друга элементов строк,а что делать,когда не знаешь порядок матрицы(т.е. он произволен) ;)
ДА,вот ещё процедурами и функциями мне пользоваться пока нельзя. :no: