Форум программистов, компьютерный форум, киберфорум
Наши страницы
PascalABC.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Зануда
0 / 0 / 0
Регистрация: 25.12.2012
Сообщений: 54
1

Переставить строки и столбцы матрицы так, чтобы максимальный по модулю элемент был расположен на пересечении k-й строки и k-го столбца

26.12.2012, 09:55. Просмотров 657. Ответов 1
Метки нет (Все метки)

Задана матрица размером n*m. Найти максимальный по модулю элемент матрицы. Переставить строки и столбцы матрицы таким образом, чтобы максимальный по модулю элемент был расположен на пересечении k-й строки и k-го столбца.
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.12.2012, 09:55
Ответы с готовыми решениями:

Переставить строки и столбцы матрицы таким образом, чтобы максимальный по модулю элемент был расположен на пересечении k-й строки и k-го столбца.
задана матрица размером M x N. Найти максимальный по модулю элемент матрицы.Переставить строки и...

Обнулить все элементы строки и столбца матрицы, на пересечении которых находится максимальный элемент матрицы
Определить максимальный элемент в произвольно заданной матрице Z размером m x n и обнулить все...

В прямоугольной целочисленной матрице, переставляя местами строки и столбцы, добиться того, чтобы максимальный элемент был в левом верхнем углу
Всем доброго времени суток. Можете помочь вот с заданием. "В прямоугольной целочисленной матрице,...

Переставить строки матрицы так, чтобы элементы среднего столбца оказались упорядоченными по убыванию
Помогите пожалуйста Дан двумерный массив размера N×M. Переставьте в нем строки или столбцы с...

Определить номер строки в которой расположен максимальный элемент третьего столбца массива
Дан двумерный массив целых чисел a из n строк и m столбцов. Требуется определить номер строки в...

1
baquaqa
durila :d
125 / 107 / 98
Регистрация: 21.12.2012
Сообщений: 160
31.12.2012, 03:14 2
Лучший ответ Сообщение было отмечено Зануда как решение

Решение

Здравствуйте, вот вариант решения:
(компилировался в PascalABC.net & FPC)
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
program _matrix;
 
const
 
 N  = 5;
 M  = 3;
 
type 
 
 TMatrix   = array [1..N, 1..M] of integer;
 TPosition = record
  i     : byte;
  j     : byte;
  value : integer;
 end;
 
 
var
 
 Matrix     : TMatrix;
 Max        : TPosition;
 k          : byte;
 
procedure FillMatrix(var MTR : TMatrix;rnd : boolean;lb,rb:integer);
{процедура заполнения матрицы значениями из (lb,rb)
 rnd=true - случайнo rnd=false - вручную           } 
 var  
  i,j       : byte;
  x         : integer;
 function RandomInt(a,b:integer):integer;
 {возвращает случайное целое из (a;b)}
  var
   x        : integer;
   sign     : 0..1;
  begin
   x:=0;
   if a<=b then 
    begin
     if b<0 then 
      repeat 
       x:=-random(Abs(a))
      until (x>a) and (x<b);
    if b>0 then 
     repeat 
      x:=random(b);
      sign:=random(2);
      if sign>0 then x:=-x;
     until (x>a) and (x<b);
   end;
  RandomInt:=x;   
 end;
 
begin
 Writeln();
 case rnd of 
    TRUE : begin
            for i:=1 to N do 
            for j:=1 to M do 
            MTR[i,j]:=RandomInt(lb,rb);
           end;
    FALSE: begin
            for i:=1 to N do 
            for j:=1 to M do 
             begin
              repeat
               write('[',i,',',j,',]: ' );
               readln(x);
              until (x>lb) and (x<rb);
              MTR[i,j]:=x;
             end;
           end;
 end;   
 writeln();
end;
 
procedure PrintMatrix(const MTR : TMatrix);
{процедура вывода матрицы на экран      }
 var
  i,j       : integer;
begin
 writeln();
 for i:=1 to N do begin
 for j:=1 to M do write(MTR[i,j]:5,' ');
                  writeln();
                  end;
 writeln();               
end;
 
procedure SwapLines(var MTR : TMatrix; a,b : integer);
{   процедура меняет местами строки матрицы 
              с номерами a,b               }
 var
  i         : integer;
  temp      : array [1..M] of integer;
begin
for i:=1 to M do temp[i] := MTR[a,i];
for i:=1 to M do MTR[a,i]:= MTR[b,i];
for i:=1 to M do MTR[b,i]:= temp[i];
end; 
 
procedure SwapColumns(var MTR : TMatrix; a,b : integer);
{   процедура меняет местами столбцы матрицы 
              с номерами a,b               }
 var
  i         : integer;
  temp      : array [1..N] of integer;
begin
for i:=1 to N do temp[i] := MTR[i,a];
for i:=1 to N do MTR[i,a]:= MTR[i,b];
for i:=1 to N do MTR[i,b]:= temp[i];
end;   
 
function GetAbsMax(const MTR : TMatrix):TPosition;
{возвращает максимальный по модулю элемент матрицы}
 var 
  i,j       : byte;
  Max       : TPosition;
begin
 Max.i:=1;
 Max.j:=1;
 Max.value:=MTR[1,1];
 for i:=1 to N do 
 for j:=1 to M do 
    if Abs(Max.value) < Abs(MTR[i,j]) then 
     begin
      Max.i:=i;
      Max.j:=j;
      Max.value:=MTR[i,j];
     end;
 GetAbsmax:=Max;     
end;
 
BEGIN
 
{ fill & print Matrix }
 randomize;
 FillMatrix(Matrix,true,-100,100); { false если вручную}
 PrintMatrix(Matrix);
 
{ process. & output }
 Max:=GetAbsMax(Matrix);
 Writeln(Max.value);writeln();
 Write('k: ');Readln(k);
 SwapLines(Matrix,k,Max.i);
 SwapColumns(Matrix,k,Max.j);
 PrintMatrix(Matrix);
 
END.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.12.2012, 03:14

Удалить из матрицы строку или столбец, на пересечении которых расположен наименьший по модулю элемент
Пожалуйста помогите решить. В данной действительной квадратной матрице порядка n найти наименьший...

Переставить строки и столбцы матрицы чтобы максимальный по модулю элемент был расположен на пересечении К - той строки и К - того столбца.
Дана матрица А(nxn). Найти максимальный по модулю элемент матрицы. Переставить строки и столбцы...

Переставить строки и столбцы матрицы таким образом, чтобы максимальный по модулю элемент был расположен на пересечении 1-й строки и 1-го столбца
Помогите решить задачку в DELPHI Задана матрица Am×n . Найти максимальный по модулю элемент...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru