Помогите ,найти ошибку в процедуре поиска!
{
Наименование процедуры: maxstr.
Цель: найти номер строки максимального элемента матрицы А,
где входные значения:
Pr - указатель массив исходных данных матриц A размером [1..3,1..3],
x - кол-во строк и столбцов квадрат. матрицы А,
возвращаемые значения:
num - номер строки максимального элемента матрицы А
}
procedure maxstr (Pr:PArr;x:integer;Var num:word);
var maxs:real;
i,j:integer;
begin
{зададим начальное значение для поиска макс. элемента массива}
maxs:=Pr^[1,1];
{Поиск m12}
for i:=1 to x do
begin
for j:=1 to x do
begin
if maxs <= Pr^[j,i] then
begin
maxs:=Pr^[j,i];
num:=i;
end ;
end;
end;
end;
Цитата:
Originally posted by xnode
Уважаемые ,подскажите, где я туплю с двухмерным массивом (BP7-Pascal):
{
Наименование процедуры: maxstr.
Цель: найти номер строки максимального элемента матрицы А,
где входные значения:
Pr - указатель массив исходных данных матриц A размером [1..3,1..3],
x - кол-во строк и столбцов квадрат. матрицы А,
возвращаемые значения:
num - номер строки максимального элемента матрицы А
}
procedure maxstr (Pr:PArr;x:integer;Var num:word);
var maxs:real;
i,j:integer;
begin
{зададим начальное значение для поиска макс. элемента массива}
maxs:=Pr^[1,1];
{Поиск m12}
for i:=1 to x do
begin
for j:=1 to x do
begin
if maxs <= Pr^[j,i] then
begin
maxs:=Pr^[j,i];
num:=i;
end ;
end;
end;
end;
Уважаемые ,подскажите, где я туплю с двухмерным массивом (BP7-Pascal):
{
Наименование процедуры: maxstr.
Цель: найти номер строки максимального элемента матрицы А,
где входные значения:
Pr - указатель массив исходных данных матриц A размером [1..3,1..3],
x - кол-во строк и столбцов квадрат. матрицы А,
возвращаемые значения:
num - номер строки максимального элемента матрицы А
}
procedure maxstr (Pr:PArr;x:integer;Var num:word);
var maxs:real;
i,j:integer;
begin
{зададим начальное значение для поиска макс. элемента массива}
maxs:=Pr^[1,1];
{Поиск m12}
for i:=1 to x do
begin
for j:=1 to x do
begin
if maxs <= Pr^[j,i] then
begin
maxs:=Pr^[j,i];
num:=i;
end ;
end;
end;
end;
Если в Pr^[j,i] считать j - номером строки, а i - номером столбца (как обычно и делается), то твоя процедура ищет не номер строки, а номер столбца.
Цитата:
Originally posted by xnode
Уважаемые ,подскажите, где я туплю с двухмерным массивом (BP7-Pascal):
{
Наименование процедуры: maxstr.
Цель: найти номер строки максимального элемента матрицы А,
где входные значения:
Pr - указатель массив исходных данных матриц A размером [1..3,1..3],
x - кол-во строк и столбцов квадрат. матрицы А,
возвращаемые значения:
num - номер строки максимального элемента матрицы А
}
procedure maxstr (Pr:PArr;x:integer;Var num:word);
var maxs:real;
i,j:integer;
begin
{зададим начальное значение для поиска макс. элемента массива}
maxs:=Pr^[1,1];
{Поиск m12}
for i:=1 to x do
begin
for j:=1 to x do
begin
if maxs <= Pr^[j,i] then
begin
maxs:=Pr^[j,i];
num:=i;
end ;
end;
end;
end;
Уважаемые ,подскажите, где я туплю с двухмерным массивом (BP7-Pascal):
{
Наименование процедуры: maxstr.
Цель: найти номер строки максимального элемента матрицы А,
где входные значения:
Pr - указатель массив исходных данных матриц A размером [1..3,1..3],
x - кол-во строк и столбцов квадрат. матрицы А,
возвращаемые значения:
num - номер строки максимального элемента матрицы А
}
procedure maxstr (Pr:PArr;x:integer;Var num:word);
var maxs:real;
i,j:integer;
begin
{зададим начальное значение для поиска макс. элемента массива}
maxs:=Pr^[1,1];
{Поиск m12}
for i:=1 to x do
begin
for j:=1 to x do
begin
if maxs <= Pr^[j,i] then
begin
maxs:=Pr^[j,i];
num:=i;
end ;
end;
end;
end;
попробуй, может тебе так пойдёт:
uses crt;
var mass:array[1..100,1..100] of integer;
a,b,c,x,num:integer;
begin
clrscr;
writeln('введите колво строк и столбцов');
readln(x);
writeln;
for a:=1 to x do
for c:=1 to x do
begin
gotoxy(c*3,a*3);
read(mass[a,c]);
end;
b:=mass[1,1];
for a:=1 to x do
for c:=1 to x do
if mass[a,c]>b then
begin
b:=mass[a,c];
num:=a
end;
writeln;
writeln('max:=',b);
writeln;
writeln('stroka:=',num);
readkey
end.