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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.04.2016, 18:50   #1
Анна997
Пользователь
 
Регистрация: 15.04.2016
Сообщений: 26
По умолчанию Дана вещественная матрица размером NxM. Переставить её строки и столбцы таким образом, чтобы:

Дана вещественная матрица размером NxM. Переставить её строки и столбцы таким образом, чтобы:
1)наибольший элемент(любой из нескольких)оказался в правом нижнем углу.
2)наименьший элемент(любой из нескольких) оказался в верхнем левом углу
Анна997 вне форума Ответить с цитированием
Старый 17.04.2016, 19:25   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Аня, а в чём сложность? Где ваши попытки решить задачу?
Вы можете описать матрицу? можете ввести в неё значения?
Вы можете написать код, который найдёт индексы максимального элемента?
(индексы - это номер строки и номер столбца).

дальше всё просто.
1) меняете местами элементы строки с максимальным элементом и элементы последней строки. далее меняете местами элементы столбца с максимальным элементом и элементы последнего столбца. всё, элемент у нас в правом нижнему углу.

2) по аналогии, только нужно поменять с первой строкой и с первым столбцом.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 24.04.2016, 09:00   #3
newerow1989
Я самый любопытный
Участник клуба
 
Аватар для newerow1989
 
Регистрация: 24.07.2012
Сообщений: 1,949
По умолчанию

Код:
const m=10;
      n=8;
var p:array[1..m,1..n] of integer;
    i,j,im,jm,z:integer;
begin
   Randomize;
   For i:=1 to m do
   begin
      For j:=1 to n do
      begin
         p[i,j]:=-10+Random(21);
         Write(p[i,j]:3,'  ');
      end;
      Writeln;
   end;
   Writeln;
   im:=1;
   jm:=1;
   For i:=1 to m do
      For j:=1 to n do
         If p[im,jm]<p[i,j] then
         begin
            im:=i;
            jm:=j;
         end;
   Writeln('max: ',im,' ',jm);
   For i:=1 to m do
   begin
      z:=p[i,jm];
      p[i,jm]:=p[i,n];
      p[i,n]:=z;
   end;
   For j:=1 to n do
   begin
      z:=p[im,j];
      p[im,j]:=p[m,j];
      p[m,j]:=z;
   end;
   For i:=1 to m do
   begin
      For j:=1 to n do
         Write(p[i,j]:3,'  ');
      Writeln;
   end;
   Writeln;
   im:=1;
   jm:=1;
   For i:=1 to m do
      For j:=1 to n do
         If p[im,jm]>p[i,j] then
         begin
            im:=i;
            jm:=j;
         end;
   Writeln('min: ',im,' ',jm);
   For i:=1 to m do
   begin
      z:=p[i,jm];
      p[i,jm]:=p[i,1];
      p[i,1]:=z;
   end;
   For j:=1 to n do
   begin
      z:=p[im,j];
      p[im,j]:=p[1,j];
      p[1,j]:=z;
   end;
   For i:=1 to m do
   begin
      For j:=1 to n do
         Write(p[i,j]:3,'  ');
      Writeln;
   end;
   Writeln;
   Readln;
end.
С запрограммированным приветом, Неверов Евгений!
Сайт: http://newerow1989.ru
[Паскаль] [Delphi]
newerow1989 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Cоставить одномерный массив из номеров столбцов ,элементы которых упорядочены по возрастанию Анна997 Паскаль, Turbo Pascal, PascalABC.NET 2 24.04.2016 08:51
Дана матрица размером NxM/ Определить упорядочены ли её строки по неубыванию суммы их элементов пожрать_бы Помощь студентам 3 12.12.2012 15:46
матрица размером NxM. Упорядочить ее столбцы по невозрастанию их наибольших элементов (в Delphi) virgin_sova Помощь студентам 0 28.06.2011 22:22