или
Заказать новую работу(фрагменты работы)
Учебное заведение: | Вузы города Екатеринбург > Уральский государственный технический университет - УПИ |
Тип работы: | Курсовые работы |
Категория: | Программирование |
Год сдачи: | 2016 |
Количество страниц: | 6 |
Оценка: | 5 |
Дата публикации: | 01.12.2019 |
Количество просмотров: | 414 |
Рейтинг работы: |
Задача: Разработать рекурсивную схему, написать и отладить программу для решения следующей задачи.
Написать программу, позволяющую заполнить кроссворд заданной структуры.
Используя тестовый файл с набором слов, из которого программа будет выбирать подходящее слова, а также одно слово, задаваемое пользователем, которое должно присутствовать в кроссворде. Выбор подходящих слов должен осуществляется с использованием рекурсивной процедуры перебора с возвратом.
(фрагменты работы)
3. Описание программ и входящих в неё подпрограмм.
Для хранения данных о кроссворде в программе используеся класс Krossvord, которыы имеет следующие поля: два вектора типа стринг для хранения “подходящих” слов, V для вертикальных и G для горизонтальных соответственно. Два массива iterV и iterG, первый, размерности 2, для хранения итераторов вертикальных слов, и второй, размерности 3, для итераторов горизонтальных слов. И последний - переменная Slovar типа стрингдля хранения адреса текстого файла, в котором хранится словарь.
Класс содержит следующие методы:
1. Krossvord()
Конструктор, который устанавливает размерность векоров V и G, добавляя в них по три путсых слова, и зануляет итераторы iterV и iterG, устанавливает адрес текстого файла.
2. insert_v1 ( string users_slovo )
Данный метод вставляет в Кроссворд первое вертикальное слово, вводимое пользователем.
3. insert_gn( int n )
Данный метод вставляет в Кроссворд горизонтальные слва. Входной параметр n определяет номер вставяемого слова (от 0 до 3). При n=0: заполняем первое горизонтальное слово, первая буква которого является первой буквой вертикального слова, введенного пользоватеем; n=1: заполняем второе горизонтальное слово, первая его бува – третья буква первого вертикального слова; n=2: заполняем третье горизонтальное слово, первая буква которого есть последняя буква первого вертикального слова. Метод возвращает trueесли слово удалось вставить и false в обратном случае.
Похожие работы
Работы автора