Поиск экстремальных значений в массивах
Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.
Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.
освоить приемы поиска экстремальных значений в массивах структур при наличии дополнительных ограничений и условий.
брачное агентство
подбор невест и женихов с помощью гениальной компьютерной программы, которую вы и должны разработать.
Данные, которые собирает агентство о своих клиентах, представлены в табл. 1, которая, конечно, может расширяться.
Таблица 1
Клиенты брачного агентства
Имя Пол Рост Возраст Характер Цвет кожи Доход
Джон м 150 20 Пакостный Белый 198
Барбара ж 178 23 Зловредный Черный 567
Майкл м 165 45 Нежный Желтый 987
Инесса ж 189 43 Отвратительный Белый 3544
Стивен м 201 21 Хороший Желтый 1234
Деннис м 172 18 Ласковый Черный 987
Смит м 168 19 Твердый Черный 7463
Джоан ж 153 33 Пакостный Белый 873
Джейла ж 178 44 Зловредный Желтый 368
Рейчел ж 178 23 Зловредный Черный 567
Лайла ж 153 33 Пакостный Коричневый 873
Тильда ж 166 43 Отвратительный Белый 3454
Льюис м 168 23 Твердый Белый 463
Керол ж 165 32 Нежный Желтый 876
Характеры клиентов разбиты на категории в соответствии с табл. 2 для того, чтобы мож-но было не только указывать в запросах конкретный характер, но и делать более общие за-просы путем указания категории характера, в том числе и в числовой форме. Подобным об-разом введены категории клиентов по величине доходов и цвету кожи (см. табл.3 и табл.4).
Таблица 2
Классификация характеров клиентов
Характер Категория характера
Пакостный -1 Плохой
Отвратительный -1 Плохой
Твердый 0 Умеренный
Нежный 0 Умеренный
Зловредный 0 Умеренный
Хороший +1 Подходящий
Ласковый +1 Подходящий
Таблица 3
Классификация клиентов по величине их месячного дохода
Доход Категория клиента по величине дохода
менее 200 -2 Нищий
200-500 -1 Бедный
501-1000 0 Средний
1001-2000 +1 Богатый
более 2000 +2 Жадный
Таблица 4
Классификация клиентов по цвету кожи
Цвет кожи Категория цвета кожи
Белый 0 Белый
Черный 1 Черный
Желтый 2 Цветной
Коричневый 2 Цветной
Задание
1. Внимательно изучите листинги файлов проекта MAgency, которые приведены ни-же. Каркас приложения – консольное приложение с поддержкой MFC.
2. Наберите текст приведенной программы или разработайте свой вариант. Файл с исходными данными вы можете создать элементарно путем копирования содер-жимого табл.1 в блокнот или в другой текстовый редактор, в том числе и в редак-тор MVS. Приветствуется увеличение объема табл.1 в любых направлениях: как увеличение числа строк, так и увеличение числа столбцов. Категорически возбра-няется уменьшать размеры таблицы. Таблицы 2-4, как вы понимаете, предназначе-ны для другой цели, а именно для формулировки запросов к программе и реализа-ции алгоритмов удовлетворения запросов придирчивых клиентов.
3. Разработайте свое приложение в соответствии с вариантом, ниспосланным вам судьбой. Приложение должно выводить результат в понятной даже клиенту-дебилу форме, т.е. со всеми необходимыми сопроводительными и поясняющими текстами.
4. Выполните отладку приложения и сдайте его преподавателю, предварительно оттестировав его на ввод корректных и не очень данных.
Таблица 5
Варианты заданий
№ комп. Задание
1 Найти все имеющиеся пары клиентов противоположного пола, имена которых начинаются с одинаковых символов и чей совокупный доход не меньше заданного пользователем значения
2 Найти пару клиентов противоположного пола, совокупный доход которых макси-мален и у них одинаковая категория характера
3 Найти все имеющиеся пары клиентов противоположного пола, которые имеют характер одной и той же категории
4 Найти пару клиентов одного пола, совокупный доход которых максимален и кото-рые относятся к одной и той же категории цвета кожи. Поиск выполнять отдельно для клиентов обоих полов.
5 Найти все имеющиеся пары клиентов одного пола, которые имеют характер одной и той же категории. Поиск выполнять отдельно для клиентов обоих полов.
6 Найти пару разнополых клиентов с диаметрально противоположными категориями характера, но с одинаковой категорией цвета кожи.
7 Сформировать пару из разнополых клиентов с заданными для каждого из них до-ходами (в числовой форме) при условии, что имеют одинаковую (заданную) кате-горию характера
8 Заданному (по имени) клиенту подобрать всех подходящих клиентов противопо-ложного пола, вес которых и рост находится в заданных в процентном отношении пределах относительно его собственных
9 Найти две пары клиентов противоположного пола, которые имеют диаметрально противоположный рост, т.е. «самый высокий мужчина + самая невысокая женщи-на» и «самый короткий мужчина + самая высокая женщина»
10 Сформировать все возможные пары противоположного пола с одинаковой катего-рией цвета кожи
Листинг файла MAgency.cpp (с главной функцией)
Это приложение запрашивает у пользователя имя файла с данными по клиентам, читает записанные в нем данные в массив структур, выводит считанные данные на экран и далее отыскивает в таблице самого бедного жениха, т.е. особь мужского рода, и самую богатую невесту – женщину. Вам остается только самая малость: добавить в текст программы реше-ние своей задачи.
Листинг файла Lib.h
Листинг файла Lib.cpp