Родились сегодня:
ivan_papus


Лидеры

ID: 259041

Алексеев Владимир Николаевич

Мастер-Эксперт

1166

Россия, пос. Теплоозёрск, ЕАО


ID: 405587

Magic2hand

5-й класс

700


ID: 226425

Konstantin Shvetski

Модератор

317

Россия, Северодвинск


ID: 137394

Megaloman

Мастер-Эксперт

180

Беларусь, Гомель


ID: 405604

Ника

Посетитель

138


ID: 400669

epimkin

Профессионал

118


ID: 405537

hipunova1512

Посетитель

88


8.10.4

05.12.2021

JS: 2.10.3
CSS: 4.6.0
jQuery: 3.6.0
DataForLocalStorage: 2021-12-08 21:46:03-standard


Создание программ на языках Pascal, Delphi и Lazarus.

Администратор раздела: Зенченко Константин Николаевич (Старший модератор)

Консультация онлайн # 109204

Раздел:  Pascal / Delphi / Lazarus
Автор вопроса: Андрей Логинов
Дата: 13.11.2007, 13:14 Консультация закрыта
Поступило ответов: 2

Уважаемые эксперты нужна ваша помощь в решении задачи

В квадратном массиве (в константе задаётся имеется в виду матрица должна получится 3 на 3 или 4 на 4), выделить четыре четверти, ограниченные главной и побочной диагонали (без учёта элементов расположенных на диагоналях) верхнюю, нижнюю, левую и правую. Поменять местами элементы верхней и нижней четверти.

Ответ # 193685 от Verena
Здравствуйте, Андрей Логинов!
Понятия главной и побочной диагонали имеют смысл только в квадратных матрицах и выражаются простыми формулами.
Главная диагональ: элементы на ней имеют индексы i=j, элементы над ней - j > i, под ней - j < i .
Побочная диагональ: элементы на ней имеют индексы i+j=n+1, элементы над ней - i+j < n+1, под ней - i+j > n+1 .
Всё это Вы можете проверить опытным путём, и убедитесь, что это так. При таком раскладе разделить матрицу на четверти проще простого:
Верхняя: j > i and i+j < n+1
Нижняя: j < i and i+j > n+1
Левая: j < i and i+j < n+1
Правая: j > i and i+j > n+1
Не знаю, что в Вашей задаче подразумевалось под "выделить четыре четверти" - если надо было вывести элементы этих четвертей на экран, Вы легко сможете сделать это, воспользовавшись в цикле этими формулами. Ну а код, меняющийи местами элементы верхней и нижней четверти смотрите в приложении. Здесь кроме вышесказанного надо заметить, что соответствующий элементу верхней четверти элемент нижней четверти будет иметь тот же самый индекс по столбцу и индекс по строке, выражающийся формулой (n-i+1).
Удачи!

Приложение:


Verena

Посетитель
13.11.2007, 18:42
Ответ # 193897 от Артём1983
Здравствуйте, Андрей Логинов!
Смотрите код программы в приложении. Программа только обозночает главную и побочную диагонали.

Приложение:


Артём1983

Посетитель
14.11.2007, 19:22
Мини-форум консультации # 109204
Нет сообщений в мини-форуме
Возможность оставлять сообщения в мини-форумах консультаций доступна только после входа в систему.
Воспользуйтесь кнопкой входа вверху страницы, если Вы зарегистрированы или пройдите простую процедуру регистрации на Портале.

Лучшие эксперты раздела

Зенченко Константин Николаевич

Старший модератор

Рейтинг: 227

Лысков Игорь Витальевич

Мастер-Эксперт

Рейтинг: 42

Gluck

9-й класс

Рейтинг: 41

Вадим Исаев ака sir Henry

Мастер-Эксперт

Рейтинг: 1

Асмик Гаряка

Советник

Рейтинг: 0

Орловский Дмитрий

Мастер-Эксперт

Рейтинг: 0