Страница 1 из 1

Двумерный массив

Добавлено: 06 май 2007, 13:10
maxg5
Помогите доделать прогу.Условие такое:
Найти максимум в двумерном массиве.
Нашёл на вашем форуме соответстввующию функцию.Собрал прогу с этой функцией,но почему та она не компилится.В чём у меня ошибка?
Вот что у меня получилось:

Код: Выделить всё

var
   A:array[1..100,1..100] of integer;
   n,i,j:integer;
   function max(A:array of array of integer) :p air;
   i,j:byte; maxi,maxj:byte; result :p air;
begin
  writeln('vv razmer massiva');
  readln(n);
  for i:=1 to n do
    writeln('vvodite',n,'chisel');
    for i:=1 to n do begin
      for j:=1 to n do begin
        Write('...');
        Readln(a[i,j]);
      end;
    end;
begin
  maxi:=1;
  maxj:=1;
  for i:=2 to N do
  for j:=2 to N do
    if A[i,j]>A[maxi,maxj] then begin maxi:=i; maxj:=j; end;
  result.i:=maxi;
  result.j:=maxj;
  max:=result;
  writeln(result)
end;
end.


Re: Двумерный массив

Добавлено: 07 май 2007, 00:56
Колядин Максим
Не хочу исправлять ошибки - их здесь "несмертная сила". Делай так:

Код: Выделить всё

   var
   A:array[1..100,1..100] of integer;
   n,i,j,max,maxi,maxj:integer;

   procedure get_max;
   begin
   maxi:=1;
   maxj:=1;
   max:=a[i,j];
   for i:= 2 to n do
   for j:= 2 to n do if a[i,j]>a[maxi,maxj] then max:=a[i,j];
   end;

   begin
   readln(n);
   for i:= 1 to n do
   for j:= 1 to n do readln(a[i,j]);
   get_max;
   writeln(max);
   readln;
   end.

Re: Двумерный массив

Добавлено: 08 май 2007, 10:38
Хыиуду
Колядин Максим писал(а):Делай так:

Код: Выделить всё

   var
   A:array[1..100,1..100] of integer;
<...>
   for i:= 1 to n do
   for j:= 1 to n do readln(a[i,j]);
<...>
Ну ты садист, заставлять человека вводить 10000 чисел? Почему бы не a[i,j]:=random(100) хотя бы? :)
Кстати, n у тебя не определена

Re: Двумерный массив

Добавлено: 08 май 2007, 13:43
Колядин Максим
Хыиуду писал(а):Ну ты садист, заставлять человека вводить 10000 чисел? Почему бы не a[i,j]:=random(100) хотя бы?
Специально для тебя, объясняю: для того, чтобы не вводить 1000 числел, создана переменная n, которой в начале программы водится значение. Хочешь заполнить массив рандомно, - заполняй, моё дело объяснить человеку как найти максимальный элемент в массиве, а не какими способами его заполнять.

Re: Двумерный массив

Добавлено: 08 май 2007, 13:56
Хыиуду
Если уж пишешь прогу от начала до конца, а не просто кусок кода, хотя бы указывай, что переменной n надо присвоить какое-нибудь значение.

Re: Двумерный массив

Добавлено: 08 май 2007, 14:24
Колядин Максим
На твоем месте (на месте опытного программиста) я бы додумался о значении переменной n, если цикл всегда в интервале от 1 до n.

Re: Двумерный массив

Добавлено: 08 май 2007, 15:40
Хыиуду
хех, ну так код-то ты пишешь не для опытного программиста, а для начинающего.

Re: Двумерный массив

Добавлено: 09 май 2007, 02:49
Колядин Максим
Хыиуду писал(а):Кстати, n у тебя не определена
Хыиуду писал(а):Если уж пишешь прогу от начала до конца, а не просто кусок кода, хотя бы указывай, что переменной n надо присвоить какое-нибудь значение.
Хыиуду, если уж ты обломался насчёт n и не заметил её, так и скажи - человек способен совершать ошибки, а нечего подбирать бессмысленные оправдывания, совсем отклоняющие меня от изначальной темы.