Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.05.2010, 20:27   #1
Mr_freeman
Форумчанин
 
Аватар для Mr_freeman
 
Регистрация: 17.01.2010
Сообщений: 277
По умолчанию Двухмерный массив в процедуре

Мне нужно спросить, может ли, и как, двухмерный массив выступать формальным параметром в процедуре?

Вообщем нужна процедура которая по матрице (х) ищет координаты (х1,х2) максимального элемента.

Вот мой код процедуры:

procedure max(x: array of byte; var x1,x2: byte);
var maxel: byte;
begin
maxel:=0;
for i:= 1 to 3 do
for j:= 1 to 3 do
begin
if maxel < x[i,j] then (На этой строке выдает ошибку)
begin
maxel:=x[i,j];
x1:=i; x2:=j;
end;
end;
end;

Помогите пожалуйста
Mr_freeman вне форума Ответить с цитированием
Старый 26.05.2010, 20:39   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,830
По умолчанию

Код:
x: array of byte;
Если вам нужен двухмерный, так и передавайте двухмерный.
Код:
x: array of array of byte;
p51x вне форума Ответить с цитированием
Старый 26.05.2010, 20:47   #3
Mr_freeman
Форумчанин
 
Аватар для Mr_freeman
 
Регистрация: 17.01.2010
Сообщений: 277
По умолчанию

Не получается, ошибку выдает...
Mr_freeman вне форума Ответить с цитированием
Старый 26.05.2010, 21:20   #4
Poltev86
Пользователь
 
Аватар для Poltev86
 
Регистрация: 15.05.2010
Сообщений: 31
По умолчанию

massiv=array[1..n,1..m] of integer;

procedure max(var X:massiv);
var
i,j,max,x,y:integer;
begin
for i:=1 to n do
begin
for j:=1 to m do
if x[i,j]>max tnen (max:=X[i,j]) and (x:=i) and (y:=j);
end;
writeln('Maксимальный элемент равен=',max);
writeln('координаты: x=',x,'y=',y);
end;
Poltev86 вне форума Ответить с цитированием
Старый 26.05.2010, 21:43   #5
Poltev86
Пользователь
 
Аватар для Poltev86
 
Регистрация: 15.05.2010
Сообщений: 31
По умолчанию

Const
NN=10;
type
TElem =integer;
Matrix = array[1..NN,1..NN] of TElem;

Procedure MaxElement(A:Matrix;n:integer);
var
i,j,x,y:integer;
max:integer;
begin
max:=0;
For i:=1 to n do
begin
for j:=1 to n do
if a[i,j]>max then
BEGIN
max:=a[i,j];
x:=i;
y:=j;
END;
end;
writeln('Maксимальный элемент равен=',max:4:1);
writeln('координаты: x=',x:1,'y=',y:1);
end;
Poltev86 вне форума Ответить с цитированием
Старый 26.05.2010, 21:49   #6
Poltev86
Пользователь
 
Аватар для Poltev86
 
Регистрация: 15.05.2010
Сообщений: 31
По умолчанию

Вот рабочая програмка
Вложения
Тип файла: rar koord.rar (2.6 Кб, 6 просмотров)
Poltev86 вне форума Ответить с цитированием
Старый 27.05.2010, 00:29   #7
Mr_freeman
Форумчанин
 
Аватар для Mr_freeman
 
Регистрация: 17.01.2010
Сообщений: 277
По умолчанию

Poltev86, спасибо огромное, очень помог=)
Mr_freeman вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
двухмерный массив varyat Помощь студентам 0 23.05.2010 17:44
двухмерный массив Enchantner Паскаль, Turbo Pascal, PascalABC.NET 3 22.04.2008 20:47
Двухмерный массив xtraSHAD0W Паскаль, Turbo Pascal, PascalABC.NET 2 22.04.2008 18:17
Двухмерный массив Atheist Общие вопросы C/C++ 4 22.11.2007 14:05