С Новым годом! Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 19.02.2017
Сообщений: 2

Определить номера строк и столбцов всех седловых точек матрицы (оформить в виде процедуры)

05.03.2017, 19:12. Показов 1520. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дана целочисленная прямоугольная матрица. Определить номера строк и столбцов всех седловых точек матрицы (оформить в виде процедуры). Написала программу,но считает не правильно,помогите,пожалуйста
Седловой элемент матрицы - это элемент матрицы, который одновременно является минимальным элементом в соответствующей строке матрицы и максимальным элементом в соответствующем столбце матрицы.

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
program PascalGuru;
 
type 
  sedl= array[1..50] of integer; 
 
var
  A: array[1..50, 1..50] of integer; 
  i, j, n,mini,maxi: integer;
  c:sedl;
 
procedure Sedlmin(var c:sedl; mini:integer);
var i,j,n:integer;
begin
  for i := 1 to n do   
  begin
    C[i] := A[i, 1];
    for j := 2 to n do
      if A[i, j] < C[i] then
        C[i] := A[i, j];
        mini:=c[i];
  end; 
  end;
  
procedure Sedlmax(var c:sedl; maxi:integer);
var i,n,j:integer;  
begin
  for j := 1 to n do 
  begin
    c[j] := A[1, j];
    for i := 2 to n do
      if A[i, j] > c[j] then 
        c[j] := A[i, j];
        maxi:=c[j];
  end; 
  end;
  
  
  begin
  write('Введите размер матрицы: ');
  readln(n);     
  
  for i := 1 to n do
    for j := 1 to n do 
    begin
      write('A[', i, ',', j, ']='); 
      readln(A[i, j]); 
    end;
  
  write('Матрица: ');
  for i := 1 to n do 
  begin
    writeln;
    for j := 1 to n do 
      write(A[i, j]:8); 
  end;
  for i := 1 to n do begin
   Sedlmin(c,mini)
   end;
 for j := 1 to n do begin
 Sedlmax(c,maxi)
 end;
      if mini = maxi then
      writeln;
        writeln('Седловое число: "', mini, '" с адресом: [', i, ',', j, ']')
  
end.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.03.2017, 19:12
Ответы с готовыми решениями:

Определить номера строк и столбцов всех седловых точек матрицы
Дана целочисленная прямоугольная матрица. Определить: номера строк и столбцов всех седловых точек матрицы. Примечание: Матрица A имеет...

Определить номера строк и столбцов всех седловых точек матрицы
Добрый вечер. Помогите пожалуйста с решением.Очень срочно нужно. Собственно задание: Матрица А имеет седловую точку Аij,если Аij...

Определить номера строк и столбцов всех седловых точек матрицы
Дана целочисленная прямоугольная матрица. Определить: номера строк и столбцов всех седловых точек матрицы. Примечание: Матрица A имеет...

4
 Аватар для Hitoku
1755 / 1347 / 1407
Регистрация: 28.10.2016
Сообщений: 4,267
06.03.2017, 06:00
Частично брал отсюда https://www.cyberforum.ru/pasc... 75990.html
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
type mas=array [1..100,1..100] of integer;
 
function Saddle(a:mas; r,c :integer) : boolean;
var
  arc : integer;  {a[r,c]}
  MinRMaxC,  MaxRMinC, res : boolean;
begin
  arc := a[r,c];
  MinRMaxC := (a[r,c-1] > arc) and (a[r,c+1] > arc) and (a[r-1,c] < arc) and (a[r+1,c] < arc);
  MaxRMinC := (a[r,c-1] < arc) and (a[r,c+1] < arc) and (a[r-1,c] > arc) and (a[r+1,c] > arc);
  res := MinRMaxC OR MaxRMinC;
  Saddle := res;
end;
 
procedure Proc(a:mas; i,j,n:integer);
begin
  for i:= 2 to n-1 do
  begin
    for j:= 2 to n-1 do
    begin
       if Saddle(a,i,j) then
       writeln('i=',i,' j=',j);
    end;
  end;
end;
 
var
 i,j,n: integer;
 a:mas;
begin
  randomize;
  write('Введите размер матрицы: '); readln(n);
  for i:=1 to n do
    for j:=1 to n do
      a[i,j]:=random(50);
  Proc(a,i,j,n);
end.
0
0 / 0 / 0
Регистрация: 19.02.2017
Сообщений: 2
10.03.2017, 11:50  [ТС]
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
program pr2;
 
const
  n = 3;
 
type
  matr = array[1..n, 1..n] of integer;
 
var
  a: matr;
 
procedure formir(var a: matr; k: integer);
var
  i, j: integer;
begin
  randomize; 
  for i := 1 to k do 
    for j := 1 to k do
      a[i, j] := Random(10) - 3;
  for i := 1 to k do
  begin
    for j := 1 to k do
      write(a[i, j]:4);
    writeln;
  end;
end;
 
procedure nomera(a: matr; k: integer);
var
  max, min, i, j: integer;
begin
  for i := 1 to n do
  begin
    min := 1;
    for j := 1 to n do
      if a[i, j] < a[i, min] then min := j;
    max := 1;
    for k := 1 to n do
      if a[max, min] < a[k, min] then max := k;
    if max = i then writeln('Точка матрицы [', max, ',', min, '] седловая');
  end;
end;
 
begin
  writeln('Целочисленная квадратная матрица: ');
  formir(a, n);
  nomera(a, n);
end.
________________________________________ _________________
Спасибо,но я вот сама написала)Может кому нужно
0
 Аватар для Hitoku
1755 / 1347 / 1407
Регистрация: 28.10.2016
Сообщений: 4,267
10.03.2017, 11:55
ustinkova_tlt, используйте тэги
Название: ab005f465a864b0ab4cc5c978a06285d.png
Просмотров: 40

Размер: 497 байт
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7816 / 4635 / 2837
Регистрация: 22.11.2013
Сообщений: 13,158
Записей в блоге: 1
10.03.2017, 13:36
Hitoku,
код не соответствует заданию.
В приведенном коде седловым элементом считается такой, который среди соседних является минимумом по строке и максимумом по столбцу или наоборот.
По заданию же, седловой элемент определен более строго, как элемент матрицы, который одновременно является минимальным элементом в соответствующей строке матрицы и максимальным элементом в соответствующем столбце матрицы.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.03.2017, 13:36
Помогаю со студенческими работами здесь

Определить: номера строк и столбцов всех седловых точек матрицы. Смотреть примечания
Дана целочисленная прямоугольная матрица. Определить: номера строк и столбцов всех седловых точек матрицы. Примечание: Матрица A имеет...

Определить номера строк и столбцов всех седловых точек матрицы
Дана целочисленная прямоугольная матрица. Определить: 1) Сумму элементов в тех строках, которые содержат хотя бы один отрицательный...

Дана целочисленная квадратная матрица. Определить номера строк и столбцов всех седловых точек матрицы
Дана целочисленная квадратная матрица. Определить номера строк и столбцов всех седловых точек матрицы. Примечание: Матрица А имеет седловую...

Определить номера строк и столбцов всех седловых точек матрицы
Дана целочисленная прямоугольная матрица. Определить: 1. Количество отрицательных элементов в тех строках, которые содержат хотя бы один...

Определить номера строк и столбцов всех седловых точек матрицы
Дана целочисленная прямоугольная матрица (ввод элементов матрицы с клавиатуры). Определить номера строк и столбцов всех седловых точек...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru