Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
1 / 1 / 1
Регистрация: 06.01.2013
Сообщений: 266

Для данной вещественной матрицы А размером mxn указать индексы всех седловых точек

05.05.2014, 20:07. Показов 785. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, помогите пожалуйста исправить ошибки.Задача:элемент матрицы называется седловой точкой,если он является наименьшим в строке и наибольшим в столбце или, наоборот, наибольшим в строке и наименьшим в столбце.Для данной вещественной матрицы А размером mxn указать индексы всех седловых точек.
Проблема, когда вводишь такой пример матрицы:
1 2 3
4 5 6
7 8 9
то здесь седловые точки это 3 и 7 выводит правильно,но если ввести матрицу:
1 1 1
1 1 1
1 1 1
то вывод не правильный, должны быть все элементы.
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
uses crt;
const
    m=3;
    n=3;
var
   mas:array[1..m,1..n] of real;
   i,j,f,r1,r2,mmin,mmax,lmax,lmin,b:integer;
   min,max:real;
begin
clrscr;
r1:=0;
r2:=0;
b:=0;
writeln('введите матрицу:');
for j:=1 to n do
 for i:=1 to m do
  read(mas[i,j]);
for j:=1 to n do
 begin
  min:=mas[1,j];
  max:=mas[1,j];
  for i:=1 to m do
   begin
    if min>=mas[i,j] then
     begin
      min:=mas[i,j];
      lmin:=i;
     end;
    if max<=mas[i,j] then
     begin
      max:=mas[i,j];
      lmax:=i;
     end;
  end;
 for f:=1 to n do
  begin
   if mas[lmin,f]<=mas[lmin,j] then
    begin
     mmax:=j;
     r1:=r1+1;
    end;
   if mas[lmax,f]>=mas[lmax,j] then
    begin
     mmin:=j;
     r2:=r2+1;
    end;
  end;
writeln;
 if r1=n then
  begin
   writeln('a[',lmin,',',mmax,']');
   b:=1;
  end;
 if r2=n then
  begin
   writeln('a[',lmax,',',mmin,']');
   b:=1;
  end;
  r1:=0;
  r2:=0;
 end;
if b=0 then
writeln('таких ячеек в матрице нет');
readln;
readln;
end.
Добавлено через 5 часов 47 минут
Никто не знает?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.05.2014, 20:07
Ответы с готовыми решениями:

Для заданной целой матрицы размером 10 x 12 напечатать индексы всех ее седловых точек.
) Матрица А имеет седловую точку Аij, если Аij является минимальным элементом в i-й строке и максимальным в j-м столбце. Для заданной...

Для заданной целой матрицы размером nxm напечатать индексы всех ее седловых точек
элемент матрицы назовем седловой точкой,если он яв-ся наим.в своей строке и одновременно наиб.в своем столбце или наоборот яв-ся наиб.в...

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

6
12 / 12 / 12
Регистрация: 13.11.2013
Сообщений: 24
05.05.2014, 20:30
Вот моя готовая программа, все работает правильно, только прикрепите свой текстовый файл

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
uses crt;
const nmax=100; mmax=100;
type ar=array[1..nmax,1..mmax] of integer;
type ar2=array[1..1000] of integer;
var a:ar;
       f:text; 
       i,j,n,m:integer;
       maxst,maxsr,minst,minsr:ar2;
procedure vvod(var f:text; var a:ar; var n,m:integer);
var i,j:integer;
begin
  for i:=1 to n do 
  begin
    for j:=1 to m do read(f,a[i,j]);
    readln(f); 
  end;
end;
begin
  textcolor(yellow);  textbackground(green); clrscr;
  assign(f,'easy.txt');
  reset(f);
  write('Введите размерность массива (n,m): ');
  readln(n,m);
  vvod(f,a,n,m);
  for i:=1 to m do 
      begin
        minsr[i]:=a[i,1]; 
        maxsr[i]:=a[i,1]; 
        for j:=2 to n do
               begin
                  if a[i,j]<minsr[i] then minsr[i]:=a[i,j];
                  if a[i,j]>maxsr[i] then maxsr[i]:=a[i,j];
                end;
        end;
   for j:=1 to m do 
      begin
       minst[j]:=a[1,j]; 
       maxst[j]:=a[1,j]; 
       for i:=1 to n do 
                          begin
                             if a[i,j]<minst[j] then minst[j]:=a[i,j];
                             if a[i,j]>maxst[j] then maxst[j]:=a[i,j];
                          end;
        end;
  for i:=1 to n do 
       begin 
         writeln; 
         for j:=1 to m do if ((a[i,j]=maxsr[i]) and (a[i,j]=minst[j])) or ((a[i,j]=maxst[j]) and (a[i,j]=minsr[i])) then 
                                                                                                                                                       begin 
                                                                                                                                                         textcolor(red); 
                                                                                                                                                         write(a[i,j],' '); 
                                                                                                                                                         textcolor(yellow); 
                                                                                                                                                       end 
                                                                                                                                                     else write(a[i,j],' '); 
        end;
  writeln;
  for i:=1 to n do for j:=1 to m do if ((a[i,j]=maxsr[i]) and (a[i,j]=minst[j])) or ((a[i,j]=maxst[j]) and (a[i,j]=minsr[i])) then writeln('Седловая точка с индексами: ',i,', ',j); 
  writeln
end.
Добавлено через 25 секунд
0
1 / 1 / 1
Регистрация: 06.01.2013
Сообщений: 266
05.05.2014, 20:41  [ТС]
Кирилл Пушкарев, как и куда,что прикреплять? а можно без процедур как-то сделать?
0
12 / 12 / 12
Регистрация: 13.11.2013
Сообщений: 24
05.05.2014, 21:07
можно без процедур,
for i:=1 to n do
for j:=1 to m do
read(a[i,j]);
это вместо процедуры vvod
тогда и текстовый файл не нужен
0
1 / 1 / 1
Регистрация: 06.01.2013
Сообщений: 266
05.05.2014, 21:30  [ТС]
Кирилл Пушкарев, так?
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
uses crt;
const nmax=100; mmax=100;
type ar=array[1..nmax,1..mmax] of integer;
type ar2=array[1..1000] of integer;
var a:ar;
f:text;
i,j,n,m:integer;
maxst,maxsr,minst,minsr:ar2;
 
begin
for i:=1 to n do
for j:=1 to m do
read(a[i,j]);
clrscr;
write('Введите размерность массива (n,m): ');
readln(n,m);
for i:=1 to n do
for j:=1 to m do
read(a[i,j]);
for i:=1 to m do
begin
minsr[i]:=a[i,1];
maxsr[i]:=a[i,1];
for j:=2 to n do
begin
if a[i,j]<minsr[i] then minsr[i]:=a[i,j];
if a[i,j]>maxsr[i] then maxsr[i]:=a[i,j];
end;
end;
for j:=1 to m do
begin
minst[j]:=a[1,j];
maxst[j]:=a[1,j];
for i:=1 to n do
begin
if a[i,j]<minst[j] then minst[j]:=a[i,j];
if a[i,j]>maxst[j] then maxst[j]:=a[i,j];
end;
end;
for i:=1 to n do
begin
writeln;
for j:=1 to m do if ((a[i,j]=maxsr[i]) and (a[i,j]=minst[j])) or ((a[i,j]=maxst[j]) and (a[i,j]=minsr[i])) then
begin
write(a[i,j],' ');
end
else write(a[i,j],' ');
end;
writeln;
for i:=1 to n do for j:=1 to m do if ((a[i,j]=maxsr[i]) and (a[i,j]=minst[j])) or ((a[i,j]=maxst[j]) and (a[i,j]=minsr[i])) then writeln('седловая точка с индексами: ',i,', ',j);
writeln
end.
0
12 / 12 / 12
Регистрация: 13.11.2013
Сообщений: 24
05.05.2014, 21:37
да, только убери из описаний f:text
1
1 / 1 / 1
Регистрация: 06.01.2013
Сообщений: 266
05.05.2014, 21:44  [ТС]
Спасибо большое
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.05.2014, 21:44
Помогаю со студенческими работами здесь

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

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

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

Напечатать индексы всех седловых точек данной матрицы целых чисел
Дана матрица целых чисел размером 10х12. Напечатайте индексы всех ее седловых точек. (Седловой точкой называется элемент, который является...

Для заданной матрицы А(н,м) напечатать индексы всех ее седловых точек.
Помогите пожалуйста! Дана седловая точка-элемент матрицы. Он наименьший в своей строке и одновременно наибольший в своем столбце или...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru