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

За вознаграждение или нахаляву (если повезёт)

Модераторы: Хыиуду, MOTOCoder, Medved, dr.Jekill

Ответить
maxg5
Сообщения: 10
Зарегистрирован: 06 фев 2007, 21:54

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

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

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.

Аватара пользователя
Колядин Максим
Сообщения: 297
Зарегистрирован: 16 ноя 2006, 19:09
Откуда: Seattle, WA
Контактная информация:

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

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

   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.
Программист - это человек, который решает способом, который вы не понимаете, проблемы, о которых вы даже не подозревали...
Хыиуду
Сообщения: 2442
Зарегистрирован: 06 мар 2005, 21:03
Откуда: Москва
Контактная информация:

Колядин Максим писал(а):Делай так:

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

   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 у тебя не определена
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Аватара пользователя
Колядин Максим
Сообщения: 297
Зарегистрирован: 16 ноя 2006, 19:09
Откуда: Seattle, WA
Контактная информация:

Хыиуду писал(а):Ну ты садист, заставлять человека вводить 10000 чисел? Почему бы не a[i,j]:=random(100) хотя бы?
Специально для тебя, объясняю: для того, чтобы не вводить 1000 числел, создана переменная n, которой в начале программы водится значение. Хочешь заполнить массив рандомно, - заполняй, моё дело объяснить человеку как найти максимальный элемент в массиве, а не какими способами его заполнять.
Программист - это человек, который решает способом, который вы не понимаете, проблемы, о которых вы даже не подозревали...
Хыиуду
Сообщения: 2442
Зарегистрирован: 06 мар 2005, 21:03
Откуда: Москва
Контактная информация:

Если уж пишешь прогу от начала до конца, а не просто кусок кода, хотя бы указывай, что переменной n надо присвоить какое-нибудь значение.
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Аватара пользователя
Колядин Максим
Сообщения: 297
Зарегистрирован: 16 ноя 2006, 19:09
Откуда: Seattle, WA
Контактная информация:

На твоем месте (на месте опытного программиста) я бы додумался о значении переменной n, если цикл всегда в интервале от 1 до n.
Программист - это человек, который решает способом, который вы не понимаете, проблемы, о которых вы даже не подозревали...
Хыиуду
Сообщения: 2442
Зарегистрирован: 06 мар 2005, 21:03
Откуда: Москва
Контактная информация:

хех, ну так код-то ты пишешь не для опытного программиста, а для начинающего.
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Аватара пользователя
Колядин Максим
Сообщения: 297
Зарегистрирован: 16 ноя 2006, 19:09
Откуда: Seattle, WA
Контактная информация:

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