![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
RIDDICK |
![]()
Сообщение
#1
|
Гость ![]() |
Дана матрица A размерности n x n (квадратная) . Определить, становится ли симметричной (относительно главной диагонали) заданная матрица A после замены на число 0 каждого локального минимума. Элемент матрицы называется локальным минимумом, если он строго меньше всех имеющихся у него соседей.
Соседями элемента a(i,j) в матрице A размерности n x n назовем элементы a(k,l) с (i-1) <= k <= (i+1) , (j-1) <= l <= (j+1) , (k, l) не равно (i, j) . надо на Pascal написать прогу... а как ? :thanks: |
![]() ![]() |
Гость_Vasily |
![]()
Сообщение
#2
|
Гость ![]() |
мне почти такая же попалась.... ну, помогите, народ !
|
volvo |
![]()
Сообщение
#3
|
Гость ![]() |
RIDDICK
Гость_Vasily Ну здесь-то где может быть проблема? Код const n = 4; a: array[1 .. n, 1 .. n] of integer = ((1, 2, 3, 4),(5, 4, 2, 6),(7, 3, 2, 7),(8, 1, 4, 2)); { функция проверяет, является ли элемент a[i, j] локальным минимумом } function is_local_min(i, j: integer): boolean; var b: boolean; ii, jj: integer; begin b := true; for ii := pred(i) to succ(i) do for jj := pred(j) to succ(j) do if (ii in [1 .. n]) and (jj in [1 .. n]) then if (ii = i) and (jj = j) then continue else b := b and (a[ii, jj] > a[i, j]); is_local_min := b end; var i, j: integer; result: boolean; begin for i := 1 to n do for j := 1 to n do if is_local_min(i, j) then a[i, j] := 0; result := true; for i := 1 to pred(n) do for j := succ(i) to n do result := result and (a[i, j] = a[j, i]); if result then writeln('матрица симметрична') else writeln('матрица несимметрична') end. |
копытин |
![]()
Сообщение
#4
|
Гость ![]() |
Прошу прощения, что вмешался... Я здесь недавно. Но мне очень близка эта тема. Готов помочь.
|
![]() ![]() |
![]() |
Текстовая версия | 19.07.2025 18:06 |