Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
Sh4dowbolt
0 / 0 / 0
Регистрация: 06.04.2016
Сообщений: 2
1

Найти седловой элемент матрицы и упорядочить элементы строк матрицы по возрастанию

06.04.2016, 18:52. Просмотров 907. Ответов 2
Метки нет (Все метки)

Дана целочисленная матрица размера M x N.
1) Найти элемент, являющийся максимальным в свое строке и минимальным в своем столбце. Если такой элемент отсутствует, то вывести об этом сообщение.
2) Строки упорядочить по возрастанию.
Исходную матрицу сформировать с помощью генератора случайных чисел.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.04.2016, 18:52
Ответы с готовыми решениями:

Дана матрица. Упорядочить элементы строк матрицы по возрастанию
1) Дана матрица. Упорядочить элементы строк матрицы по возрастанию, а сами строки по неубыванию...

Упорядочить элементы матрицы по возрастанию
Program z1; const m=6;n=6; type massiv1=array of real; massiv2=array of integer; var ...

Найти сумму элементов матрицы и подсчитать число строк, в которых элементы упорядочены по возрастанию
Найти сумму элементов матрицы и подсчитать число ее строк, в пределах каждой из которых элементы...

Упорядочить элементы каждого столбца матрицы по возрастанию
Требуется написать модуль и программу,использующую его. Сформировать матрицу М целого типа....

Упорядочить по возрастанию элементы каждого столбца матрицы.
Задание: Составить программу решения задачи на Pascal. Вывод матрицы на экран оформить в виде...

2
WhiteMind
Hello Kitty
680 / 554 / 400
Регистрация: 12.02.2016
Сообщений: 1,440
Записей в блоге: 1
06.04.2016, 19:26 2
Лучший ответ Сообщение было отмечено Sh4dowbolt как решение

Решение

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
const M = 10;
const N = 5;
 
type item_t = integer;
type line_t = array[1..M] of item_t;
type tabl_t = array[1..N] of line_t;
 
procedure printLine( const l: line_t );
var
  i: integer;
begin
  for i:= 1 to M do
    write(l[i] :5);
  writeln;  
end; 
procedure printTabl( const t: tabl_t );
var
  i: integer;
begin
  for i:= 1 to N do
    printLine(t[i]);
end; 
 
procedure sortLine( var l: line_t; tS: boolean );
var
  i,j: integer;
  tmp: item_t;
begin
  if ts then
    for i:=1 to M-1 do
      for j:=M downto i do begin
        if l[j] < l[i] then begin
          tmp := l[j];
          l[j] := l[i];
          l[i] := tmp;      
        end;        
      end
  else
    for i:=1 to M-1 do
      for j:=M downto i do begin
        if l[j] > l[i] then begin
          tmp := l[j];
          l[j] := l[i];
          l[i] := tmp;      
        end;        
      end;
end; 
 
const DEV_FRB_EL_NEED = false;
 
var
  a: tabl_t;
  x,y,x2,y2: integer;
  min, max, eCount: integer;
  fBreak : boolean;
begin
  repeat
    for y:=1 to N do
      for x:=1 to M do
        a[y][x] := random(-100 , 100);
    
    
    eCount := 0;
    for y:=1 to N do
      for x:=1 to M do begin
        min := a[y][x];
        max := a[y][x];
  
        fBreak := false;
        for x2:= 1 to x - 1 do if a[y][x2] > max then begin fBreak := true; break; end;
        if fBreak then continue;
        for x2:= x + 1 to M do if a[y][x2] > max then begin fBreak := true; break; end;
        if fBreak then continue;
        
        
        for y2:= 1 to y - 1 do if a[y2][x] < min then begin fBreak := true; break; end;
        if fBreak then continue;
        for y2:= y + 1 to N do if a[y2][x] < min then begin fBreak := true; break; end;
        if fBreak then continue;
  
        eCount := eCount + 1;   
        Writeln( 'Elem[',y,'][',x,']: ', a[y][x] );   
      end;
  
  
  until (eCount <> 0) or (not DEV_FRB_EL_NEED);  
 
  if eCount = 0 then 
    Writeln('Elem notfound');
    
  printTabl(a);
  
  Writeln('-------------------------------');
 
  for y:=1 to N do  
    sortLine( a[y] , true );
    
  printTabl(a);
end.
Добавлено через 31 секунду
для теста можно выставить DEV_FRB_EL_NEED в true тогда будет находить всегда
1
Sh4dowbolt
0 / 0 / 0
Регистрация: 06.04.2016
Сообщений: 2
07.04.2016, 15:50  [ТС] 3
Спасибо большое!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.04.2016, 15:50

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

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

Упорядочить по возрастанию элементы каждой строки матрицы
Номер 1 В произвольно заданном одномерном массиве целых чисел, определить элементы, сумма цифр в...


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

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

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