Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
1 / 1 / 0
Регистрация: 17.12.2009
Сообщений: 27

Поиск Локальных минимумов

17.12.2009, 17:16. Показов 1616. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Я написал прогу но она выдаёт ошибку.помогите исправить.

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
program rgz_matr;
uses crt;
type matr=array[1..10,1..13]of integer;
var A,B:Matr;
    kol,kol2,m1,m2,n1,n2:integer;
 
procedure Vvod_Matr(var A: Matr;
                    m,n: integer);
    var i,j:integer;
    begin
     for i:=1 to m do
       for j:=1 to n do
             read(A[i,j])
    end;
 
procedure lok_min(A: Matr;
                  var kol:integer;
                  m,n:integer);
    var i,j:integer;
    begin
    kol:=0;
     for i:=2 to m do
       for j:=1 to n do
       if (A[i,j]<A[i-1,j-1]) and (A[i,j]<A[i-1,j]) and (A[i,j]<A[i+1,j+1]) and (A[i,j]<A[i,j-1]) and (A[i,j]<A[i,j+1]) and (A[i,j]<A[i+1,j-1]) and (A[i,j]<A[i+1,j]) and (A[i,j]<A[i+1,j+1]) then kol:=kol+1;
    end;
begin
writeln('vvedite razmernost matrici');
read(m1,n1);
writeln('vvedite matric');
Vvod_Matr(A,m1,n1);
lok_min(A,kol,m1,n1);
writeln(kol);
writeln('vvedite razmernost matrici');
read(m2,n2);
writeln('vvedite matric');
Vvod_Matr(B,m2,n2);
lok_min(B,kol2,m2,n2);
writeln(kol2);
end.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.12.2009, 17:16
Ответы с готовыми решениями:

Поиск локальных минимумов.
uses crt; type Matr=arrayof integer; var a:Matr; i,j,k:integer; function LocMin(i,j:integer;a:Matr):boolean; begin ...

Поиск позиций всех локальных минимумов матрицы
Каждый пункт нижеприведенного задания оформить в виде функции (процедуры). Все необходимые данные для функций (процедур) должны...

Поиск позиций всех локальных минимумов матрицы
Каждый пункт нижеприведенного задания оформить в виде функции (процедуры). Все необходимые данные для функций (процедур) должны...

9
3317 / 1379 / 110
Регистрация: 28.04.2009
Сообщений: 4,822
17.12.2009, 17:23
в чём и где ошибка?
зачем i,j объявлять в каждой процедуре?. Когда их можно было сразу определить вначале.
0
1 / 1 / 0
Регистрация: 17.12.2009
Сообщений: 27
17.12.2009, 17:28  [ТС]
при введении всех значении он выдаёт вот такую беду:
"выход за границы диапазона изменения индекса 1..13"
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
17.12.2009, 17:45
зачем i,j объявлять в каждой процедуре?. Когда их можно было сразу определить вначале
.
Это локальные переменные и должны быть объявлены в каждой процедуре.
Программа написана безобразно, оформлена в том же стиле.
Непонятно условие локального минимума для этой программы.
А выход за диапазон на каждом шагу, когда j=1, и пишем A[i-1,j-1]). Для элементов, расположенных по периметру условие должно быть одно, для угловых элементов другое, для остальных третье. Всего 4 края, 4 угла и все остальное, должно быть 9 разных условий.
1
1 / 1 / 0
Регистрация: 17.12.2009
Сообщений: 27
17.12.2009, 17:49  [ТС]
напиши код.если не сложно
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
17.12.2009, 21:12
Просто Эндрю, А какое условие локального минимума? Они бывают разные.

Добавлено через 7 минут
Вот пример подсчета количества локальных минимумов.
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
uses crt;
type Matr=array[1..10,1..10]of integer;
var a:Matr;
    i,j,k:integer;
function LocMin(i,j:integer;a:Matr):boolean;
begin
LocMin:=((i=1)or(a[i,j]<a[i-1,j]))and
        ((j=1)or(a[i,j]<a[i,j-1]))and
        ((i=5)or(a[i,j]<a[i+1,j]))and
        ((j=1)or(a[i,j]<a[i,j+1]));
end;
begin
clrscr;
randomize;
for i:=1 to 10 do
   begin
    for j:=1 to 10 do
      begin
        a[i,j]:=random(20);
        write(a[i,j]:4);
      end;
    writeln;
   end;
writeln;
k:=0;
for i:=1 to 10 do
for j:=1 to 10 do
if LocMin(i,j,a)then k:=k+1;
writeln('k=',k);
readln
end.
0
1 / 1 / 0
Регистрация: 17.12.2009
Сообщений: 27
19.12.2009, 09:30  [ТС]
Элемент матрицы называется локальным минимумом если он строго меньше всех имеющихся у него соседей.

этот код я проверял он тоже выдает(выход за границы диапазона изменения индекса)
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
19.12.2009, 10:40
Просто Эндрю,
Напишите в начале программы
Pascal
1
2
3
program rgz_matr;
{$R-}
uses crt;
0
1 / 1 / 0
Регистрация: 17.12.2009
Сообщений: 27
21.12.2009, 23:29  [ТС]
"{$R-}"-это что такое?
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
22.12.2009, 13:23
Из встроенной справки Паскаля.
$R: Проверка диапазона
-----------------------
Включает и выключает генерацию кода проверки
диапазона.

Синтаксис: {$R+} или {$R-}
Значение по умолчанию: {$R-}
Тип: Локальная
Команда меню: Options|Compiler|Range Checking

Состояние $R+:
В состоянии $R+:
- Все индексы массивов и строк проверяются на принадлежность
допустимым пределам
- Все присваивания скалярным и поддиапазонным переменным проверяются
на принадлежность заданным диапазонам

Если проверка принадлежности диапазону не
выдерживается, то программа завершается и
выводится сообщение об ошибке времени
выполнения.

$R+ не влияет на процедуры Inc и Dec.

Включение проверки диапазона замедляет вашу
программу и делает ее больше.

Используйте эту опцию при отладке, затем
выключите ее, если уверены, что в вашей
программе нет ошибок.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.12.2009, 13:23
Помогаю со студенческими работами здесь

Подсчитать количество локальных минимумов матрицы
Помогите с упражнением: Элемент матрицы считается локально минимальный если он меньше чем каждый его сосед. Подсчитать количество...

Вывести номера и количество локальных минимумов
program poisk; type Mt=array of real; var A:Mt; Num,Kb,n,i:integer; procedure lokal(x:Mt;var k:integer;no:real); var ...

Найти номера элементов — локальных минимумов в массивах
Составить программу, содержащую процедуру, сходными данными которой является: массив C1, C2, ..., Cm. Сама задача: Номера элементов -...

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

Дан массив размера n.Найти количество его локальных минимумов.
Помогите в решений)


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru