Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Zadania_SOSiYaP.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
530.94 Кб
Скачать

Варианты для задания 3.

  1. Используя булевскую матрицу размером 24х24 и не более двух булевских векторов размером 24, напишите программу "Эволюция". При каждом нажатии на пробел программа должна выдавать очередное состояние матрицы, определяемое по следующим правилам:

Назовем степенью элемента (i,j) количество его соседей, равных true. Если элемент (i,j) был равен true, он остается true тогда и только тогда, когда его степень 2 или 3. А если элемент (i,j) был равен false, он становится true тогда и только тогда, когда его степень 3. (При выводе очередной матрицы не используйте GotoXY, чтобы была возможность вывести результаты в файл.)

  1. То же, но правила формирования нового состояния матрицы другие. Элемент становится true тогда и только тогда, когда его степень совпадает со степенью хотя бы двух его соседей.

  2. Двумерный массив является "черно-белой фотографией", каждый его элемент – насыщенность некоторой точки (от 0 до некоторого значения Max).

Требуется "сгладить" изображение, заменив каждый элемент средним арифметическим его и всех его соседей.

Еще один вопрос: сколько требуется таких сглаживаний, чтобы получился массив, все элементы которого отличаются не более, чем на 1?

  1. Условие то же. Требуется для заданного N найти в массиве прямоугольную область размером N или менее, насыщенность которой (сумма насыщенностей всех элементов) – максимально возможная.

  2. Условие то же. Требуется найти границы изображенных фигур, т.е. для заданного N найти все элементы, у каждого из которых имеется пара соседей, значения которых отличаются на N или более.

  3. Двумерный массив является "цветной фотографией", каждый его элемент – номер цвета некоторой точки (от 1 до некоторого значения Max).

Будем считать, что если два элемента стоят рядом по вертикали или по горизонтали и имеют одинаковый цвет, то они принадлежат одной области. (Вся область определяется рефлексивно-транзитивным замыканием этого отношения.)

Требуется найти количество разных цветных областей.

  1. Задан массив натуральных чисел и координаты двух элементов с равными значениями. Требуется определить, существует ли между этими элементами путь, целиком проходящий по элементам, имеющим это же значение. Примечание: два соседних элемента пути должны граничить по вертикали или по горизонтали.

  2. Для заданного двумерного массива натуральных чисел требуется определить, есть ли в нем квадрат, вершины которого обозначены одним и тем же числом. Если есть, то координаты вершин первого найденного квадрата требуется напечатать.

Примечание: Стороны квадратов не обязательно параллельны "сторонам" заданного массива.

  1. Двумерный массив 8x8 представляет собой шахматную доску: 0 – пустое поле, положительные числа – белые фигуры (0 – король, 2 – королева, 3 – тура, 4 – офицер, 5 – конь, 6 – пешка), отрицательные числа – черные фигуры (-1 – король и т.д.).

Требуется определить, бьет ли какая-нибудь белая фигура заданное поле (оформите в виде функции).

На основе этой функции нужно также ответить на вопрос, возможна ли у черных рокировка в длинную сторону.

  1. Условие то же. Требуется ответить на вопрос, является ли заданная позиция возможной с точки зрения количества фигур (пешки как белых, так и черных могли превращаться в любые фигуры того же цвета, кроме короля).

  2. Требуется ответить на вопрос, является ли позиция возможной с точки зрения расположения пешек. (Не может быть пешек на 1-й и 8-й горизонталях, и, например, у белых не может быть одновременно пешек на a2, a3 и b2).

  3. Шахматная доска задана так же. Требуется вычислить оценку позиции следующим образом. За белую королеву дается 90 очков, туру – 50, короля, офицера и коня – 30, пешку – 10.

Кроме того, за каждое свободное поле (или занятое фигурой противника), на которое может пойти (ударить) данная фигура, добавляется в 10 раз меньшее количество очков. Например, за каждого белого коня каждое пустое поле, находящееся под его ударом, приносит 3 очка.

За каждую черную фигуру дается такое же по модулю отрицательное число. Все эти очки суммируются.

  1. Напечатайте все способы движения коня на шахматной доски от поля (I1,J1) до поля (I2,J2) ровно за N ходов, не проходящие два (или более) раза через одно поле. При вводе пробела выдавайте массив 8x8 с очередным путем.

  2. Массив 10x10 представляет собой шашечную доску: на "черных" элементах (сумма номеров вертикали и горизонтали четная) – одно из пяти чисел: 0 (пустая клетка), 1 (белая простая), 2 (белая дамка), - 1 (черная простая), - 2 (черная дамка).

Требуется напечатать все возможные ходы белых.

  1. Напечатайте двумерный массив r (размерность задается), где r(n,k) – количество представлений числа n в виде суммы k слагаемых (перестановки слагаемых новым представление мне считаем). Например, 7=5+1+1=4+2+1=3+3+1=3+2+2 и больше вариантов представления числа 7 тремя слагаемыми нет, поэтому r(7,3)=4.

В процессе вычисления используйте уже посчитанные значения.

  1. Посчитайте определитель матрицы целых чисел, каждый раз выбирая для разложения строку, содержащую максимальное количество нулей.

  2. Напишите процедуру решения системы линейных уравнений по методу Гаусса.

  3. Таблица результатов футбольного первенства задана с помощью целого массива NхN (при этом элемент массива с координатами (i,j) – количество голов, забитых командой i команде j).

За победу команда получает 2 очка, за ничью – 1. Места с 1 до N командам присуждаются за большее количество набранных очков, при равенстве этого показателя – за лучшую разность мячей во всех играх. Для команд, имеющих одинаковым и этот показатель, таким же образом считаются результаты "микропервенства" (т.е. только игры между ними). (Внимание! Возможно "микро-микропервенство" и т.д.). Команды, которые невозможно "упорядочить" указанным алгоритмом, можно считать упорядоченными произвольным образом.

Необходимо написать рекурсивную процедуру, определяющую, упорядочены ли команды в заданном массиве.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]