profile
Размещено 4 года назад по предмету Информатика от KhityuninaN

Элемент матрицы назовем седловой точкой,если он является наименьшим в своей строке и одновременно наибольшим в своем столбце или,наоборот,является наибольшим в своей строке и наименьшим в своем столбце. Для заданной целой матрицы размером n*m напечатать индексы всех ее седловых точек.

  1. Ответ на вопрос
    Ответ на вопрос дан Аккаунт удален
    const
      n = 4;
      m = 6;

    var
      a: array[1..n, 1..m] of integer;  // основной массив
      Rext: array[1..n, 1..2] of integer; // номера столбцов с min и max в строках
      Cext: array[1..2, 1..m] of integer; // номера строк с min и max в столбцах
      i, j, amin, amax: integer;

    begin
      // заполняем массив А случайными числами
      Randomize;
      writeln('Исходный массив');
      for i := 1 to n do
      begin
        for j := 1 to m do
        begin
          a[i, j] := random(100) - 50;
          write(a[i, j]:4);
        end;
        writeln;
      end;
      // Заполняем массив Rext n x 2
      for i := 1 to n do
      begin
        amin := 10000;  //заведомо больше a[i,j]
        amax := -10000; //заведомо меньше a[i,j]
        for j := 1 to m do
        begin
          if amin > a[i, j] then begin
            amin := a[i, j]; Rext[i, 1] := j
          end;
          if amax < a[i, j] then begin
            amax := a[i, j]; Rext[i, 2] := j
          end
        end;
      end;
      // Заполняем массив Cext 2 x m
      for j := 1 to m do
      begin
        amin := 10000;  //заведомо больше a[i,j]
        amax := -10000; //заведомо меньше a[i,j]
        for i := 1 to n do
        begin
          if amin > a[i, j] then begin
            amin := a[i, j]; Cext[1, j] := i
          end;
          if amax < a[i, j] then begin
            amax := a[i, j]; Cext[2, j] := i
          end
        end
      end;
      writeln;
      // Ищем седловые точки
      writeln('*** Седловые точки ***');
      for i := 1 to n do
      begin
        j := Rext[i, 1];
        if Cext[2, j] = i then
          write('[', i, ',', j, '] ')
        else begin
          j := Rext[i, 2];
          if Cext[1, j] = i then
            write('[', i, ',', j, '] ')
        end
      end;
      writeln
    end.

    Тестовое решение:

    Исходный массив
      35  34 -17 -33  20 -29
      -8 -31  -4 -20   8  -1
     -39  -7 -12  27  42   9
      32  13 -17  37  19 -24

    *** Седловые точки ***
    [2,5]



Не тот ответ на вопрос, который вам нужен?
Найди верный ответ
Самые новые вопросы
tegysigalpa2012
Русский язык - 5 лет назад

Помогите решить тест по русскому языку тест по русскому языку «местоимение. разряды местоимений» для 6 класса 1. укажите личное местоимение: 1) некто 2) вас 3) ни с кем 4) собой 2. укажите относительное местоимение: 1) кто-либо 2) некоторый 3) кто 4) нам 3. укажите вопросительное местоимение: 1) кем-нибудь 2) кем 3) себе 4) никакой 4. укажите определительное местоимение: 1) наш 2) который 3) некий 4) каждый 5. укажите возвратное местоимение: 1) свой 2) чей 3) сам 4) себя 6. найдите указательное местоимение: 1) твой 2) какой 3) тот 4) их 7. найдите притяжательное местоимение: 1) самый 2) моего 3) иной 4) ничей 8. укажите неопределённое местоимение: 1) весь 2) какой-нибудь 3) любой 4) этот 9. укажите вопросительное местоимение: 1) сколько 2) кое-что 3) она 4) нами 10. в каком варианте ответа выделенное слово является притяжательным местоимением? 1) увидел их 2) её нет дома 3) её тетрадь 4) их не спросили

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.