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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.06.2015, 14:05   #11
Юля23
Пользователь
 
Регистрация: 23.03.2015
Сообщений: 20
По умолчанию

дело не в индексе. а в числе...те [2,7]=20, [7,2]= 30
[7,2] получается максимальным
Юля23 вне форума Ответить с цитированием
Старый 08.06.2015, 14:14   #12
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Цитата:
Сообщение от Юля23 Посмотреть сообщение
дело не в индексе. а в числе...те [2,7]=20, [7,2]= 30
[7,2] получается максимальным

Вас не понять. То вам индекс надо найти, то максимальный элемент.
Аналогично можно поступить. В еще один массив сбрасывать максимальные элементы строк
затем выбрать из массива максимальный элемент вот вам и будет макс из матрицы.
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 08.06.2015, 15:31   #13
Юля23
Пользователь
 
Регистрация: 23.03.2015
Сообщений: 20
По умолчанию

я уже нашла все адреса(мое самое первое сообщение).
принцип программы:
вводится размер матрицы 3
23 45 67
12 16 94
29 55 67
далее нужно ввести 2 числа границы допустим
10 и 25
после выводятся адреса элементов, которые удовлетворяют этому условию
(подходящие числа 23, 12, 16, поэтому выводятся адреса этих элементов)
[1,1]
[2,1]
[2,2]
это все моя программа делает.Мне нужно, чтобы она потом вывела адрес максимального числа(из примера 23) те должна вывести адрес [1,1]
Юля23 вне форума Ответить с цитированием
Старый 08.06.2015, 15:43   #14
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Цитата:
Сообщение от Юля23 Посмотреть сообщение
я уже нашла все адреса(мое самое первое сообщение).
принцип программы:
вводится размер матрицы 3
23 45 67
12 16 94
29 55 67
далее нужно ввести 2 числа границы допустим
10 и 25
после выводятся адреса элементов, которые удовлетворяют этому условию
(подходящие числа 23, 12, 16, поэтому выводятся адреса этих элементов)
[1,1]
[2,1]
[2,2]
это все моя программа делает.Мне нужно, чтобы она потом вывела адрес максимального числа(из примера 23) те должна вывести адрес [1,1]

Код:
MAX = -100000000; // заранее вписать самое минимальное число
...
procedure Adress(a:mas; p,q:integer; var b:mas, var MAX:integer);
    var
      i,j:integer;
    begin
      j:=1;
    for i:=1 to n do
      if (a[i]>=p) and (a[i]<=q) then
        begin
          if a[i] > MAX then MAX = a[i];
          b[j]:=i;
          j:=j+1;
        end;
    end;
Когда в цикле вы проверите все строки матрицы МАКС будет содержать максимальное число из тех которые удовлетворяют условию (a[i]>=p) and (a[i]<=q)
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 08.06.2015, 16:13   #15
Юля23
Пользователь
 
Регистрация: 23.03.2015
Сообщений: 20
По умолчанию

я что-то не понимаю, как вывести максимальное
Юля23 вне форума Ответить с цитированием
Старый 08.06.2015, 16:17   #16
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Цитата:
Сообщение от Юля23 Посмотреть сообщение
я что-то не понимаю, как вывести максимальное
попробуйте этот код

Код:
program adress;
  uses
    crt;
  const
    L=10;
  type
    mas=array[1..l] of integer;
    matr=array[1..l] of mas;
  var
    Adr:mas;
    M:matr;
    i,j,p,q,n, maxn, maxi, MAX_VAL:integer;
  
procedure Adress(a:mas; p,q:integer; var b:mas, var MAX:integer);
    var
      i,j:integer;
    begin
      j:=1;
    for i:=1 to n do
      if (a[i]>=p) and (a[i]<=q) then
        begin
          if a[i] > MAX then MAX = a[i];
          b[j]:=i;
          j:=j+1;
        end;
    end;

  begin
    clrscr;
    randomize;
    writeln('vvedite razmer matrici');
    readln(n);
    writeln('Ishodniy massiv:');
    for i:=1 to n do
      begin
        for j:=1 to n do
          begin
            M[i,j]:=random(100);
            write(M[i,j]:4);
          end;
          writeln;
      end;
    writeln('vvedite granici:');
    readln(p,q);
    writeln('adresa iscomih elementov [',p,',',q,'],');
   MAX_VAL = -100000000;
    for i:=1 to n do
      begin
        Adress(M[i],p,q,Adr,MAX_VAL);
        j:=1;
        while adr[j]<>0 do
          begin
            writeln('(',i,',',adr[j],')');
            Adr[j]:=0;
            j:=j+1;
          end;
      end;

writeln('Maximum = ',MAX_VAL);

  readln;
end.
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 08.06.2015, 16:27   #17
Юля23
Пользователь
 
Регистрация: 23.03.2015
Сообщений: 20
По умолчанию

не работает(max_val сделала 0 так как вне диапазона -1000000, он мне этот 0 и выводит
Юля23 вне форума Ответить с цитированием
Старый 08.06.2015, 16:37   #18
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Цитата:
Сообщение от Юля23 Посмотреть сообщение
не работает(max_val сделала 0 так как вне диапазона -1000000, он мне этот 0 и выводит


Код:
program address;
  uses
    crt;
  const
    L=10;
  type
    mas=array[1..l] of integer;
    matr=array[1..l] of mas;
  var
    Adr:mas;
    M:matr;
    i,j,p,q,n, maxn, maxi, MAX_VAL:integer;
  
procedure Adress(a:mas; p,q:integer; var b:mas; var MAX:integer);
    var
      i,j:integer;
    begin
      j:=1;
    for i:=1 to n do
      if (a[i]>=p) and (a[i]<=q) then
        begin
          if a[i] > MAX then MAX := a[i];
          b[j]:=i;
          j:=j+1;
        end;
    end;

  begin
    clrscr;
    randomize;
    writeln('vvedite razmer matrici');
    readln(n);
    writeln('Ishodniy massiv:');
    for i:=1 to n do
      begin
        for j:=1 to n do
          begin
            M[i,j]:=random(100);
            write(M[i,j]:4);
          end;
          writeln;
      end;
    writeln('vvedite granici:');
    readln(p,q);
    writeln('adresa iscomih elementov [',p,',',q,'],');
   MAX_VAL := -32768;
    for i:=1 to n do
      begin
        Adress(M[i],p,q,Adr,MAX_VAL);
        j:=1;
        while adr[j]<>0 do
          begin
            writeln('(',i,',',adr[j],')');
            Adr[j]:=0;
            j:=j+1;
          end;
      end;

writeln('Maximum = ',MAX_VAL);

  readln;
end.
Изображения
Тип файла: jpg Безымянный.jpg (19.2 Кб, 134 просмотров)
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 08.06.2015, 16:47   #19
Юля23
Пользователь
 
Регистрация: 23.03.2015
Сообщений: 20
По умолчанию

спасибо за помощь все работает)))
Юля23 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Максимальный элемент. Liky Паскаль, Turbo Pascal, PascalABC.NET 1 20.02.2014 22:21
создать массив по формуле,найти максимальный элемент. отсортировать по уменьшению,последний отрицательн элемент заменить наиболшим сергей-верига Помощь студентам 2 16.01.2014 15:25
Матрица. Максимальный элемент АлександрМих Общие вопросы C/C++ 3 21.04.2012 19:56
Максимальный чётный элемент vrtp Общие вопросы C/C++ 2 07.12.2011 17:00
Максимальный элемент матрицы gessi Паскаль, Turbo Pascal, PascalABC.NET 2 14.09.2009 09:23