У меня ТР: Решить задачу (котарова 4.3.3) с использованием процедур. Эт ладно. Но впрос возникает в другом. Формулировка такая : "Найти максимальный среди отрицательных элементов прямоугольной матрицы и минимальный среди положительных. Если они отличаются...".
Т.е старым добрым for здесь не воспользуешься - матрица рандомна. какую захочет юзер такую её и задаст (((. Как назло в проге обязательно чтение из файла.Так как же удобней решать эту часть задачи? В начале проги как-то определить число строк и столбов? Но как?
Вобщем -- очень жду Ваших советов.
const
max_n = 50;
max_m = 50;
var a: array[1 .. max_n, 1 .. max_m] of integer;
{
Дальше у пользователя запрашиваем N (1 <= n <= max_n) и
M (1 <= m <= max_m) и работаем с куском матрицы
}
А кто-нить может пояснить мне в этой процедуре :
FUNCTION INCR(VAR X,N:integer):Boolean;
type Matr=array[1..3,1..3] of real;
VAR FL:boolean;
I:integer;
Begin
Fl:=true;
For i:=2 to 3 do
if MATR(x)[i,j]<MATR(x)[i-1,j-1] then
fl:=false;
incr:=fl
end;
MATR(x)[i,j]
А это что, работающая функция, чтобы ее комментировать? Мало ли, что я могу написать...
А если она компилируется - расскажи, ЧЕМ...
ЧЕМ? Не знаю. Какая разница. Мне не нужны коментарии к функции (я не знаю пашет ли она вообще).
Например про A[i,j] ты же можешь сказать, что это двумерный массив,i - номер строки, j- номер столба?..
Мне просто нужно знать, что в паскале означает формулировка MATR(x)[i,j] ?
Функцию я написал чтоб было ясно что есть МАТР и откуда берётся Х.
М(с)[i] где с-нетипизированный формальный параметр и ему может быть присвоено чё угодно(real, integer, ещё какие-нибудь массивы). Вот так.
Рад что Вам понравилось. Спасибо, разобрался.