|
Главная | Правила | Регистрация | Дневники | Справка | Пользователи | Календарь | Поиск | Сообщения за день | Все разделы прочитаны |
|
Опции темы | Опции просмотра |
05.04.2011, 14:38 | #1 (permalink) |
Новичок
Регистрация: 05.04.2011
Сообщений: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Помогите написать программу на С++
Задача №1 Написать программу на языке C++, реализующию перегруженную функцию z_cnt, получа- ющую в качестве аргумента или массив целых чисел, или символьную строку, и возвраща- ющую количество подсчитанных элементов. Признаком конца числового массива считать элемент с нулевым значением (добавить при инициализации массива). Словом считать по- следовательность символов, для которых функция isalpha возвращает истину. Функция не должна изменять переданные ей массивы и должна это гарантировать. Для массива целых чисел функция должна подсчитать количество последовательно- стей из одинаковых чисел (в последовательности не менее двух чисел), а для символьной строки – количество слов длиннее 4 символов. Пример: [ 12 2 7 7 7 7 54 67 3 3 4 0 ] - 2 "Hello zz! laba - chaos! sos aaaaaaaaaa" - 3 В функции main следует подготовить исходные данные, вызвать оба варианта функ- ции, а затем вывести исходные данные и результаты. Предусмотреть меры против аварий- ного завершения программы из-за неправильно указанных аргументов. Задача №2 Написать программу на языке C++, моделирующую поведение строителя пира- миды (Mason) путём создания соответствующего класса. Каждый строитель идентифицируется именем и долей b 2 (0; 1) каменных бло- ков, разбиваемых при кладке. Все рабочие имеют одинаковое ограничение – проф- союз запрещает принимать более N0 блоков за смену. Высота h построенного строения зависит от количества выданных блоков N сле- дующим образом h = 10 •√(pmin(N,N0)(1 - b).) В функции main провести тестирование работоспособности разработанного клас- са. Использование данного класса не должно приводить к утечке памяти, неопреде- лённому поведению и аварийному завершению программы. Длина имени объекта не ограничена. Задача №3 Написать программу на языке C++, реализующую арифметику комплекс- ных чисел. Должны быть как минимум определены операторы +, +=, -, -=, *, *=, /, /=, = , допускающие построение арифметических выраже- ний в том виде, в каком они справедливы для double, а также позволяющие в одном выражении смешивать комплексные и вещественные числа. Опре- делите функции arg,mod, Re, Im. Предусмотреть возможность печати комплексных чисел любым удобным способом. Текстовымпредставлениемкомплексного числа считать строки вида a±bi, где a, b — представления чисел типа double. Задача №4 Написать программу на языке C++, реализующую иерархию классов соби- рателей водорослей (Collector). Собиратели бывают следующих типов: Дельфин (Dolphin) Стартовая скорость не зависит от оплаты (её не платят) и составляет 15 кг/час. Коэффициент уставания – 0.1. Водолаз (Diver) Стартовая скорость кусочно-линейно зависит от оплаты: в диапазоне 0–120 грн пропорциональна оплате, коэффициент пропорцио- нальности – 0.3 кг/грн.При дальнейшемросте оплатыстартовая скорость остаётся постоянной. Коэффициент уставания – 0.3. Доброволец (Volunteer) Стартовая скорость зависит от оплаты таким обра- зом: v = 10 · (1 − exp(−0.2x)), где v – скорость в кг/час, x – оплата в грн/час. Коэффициент уставания – 0.4. Киборг (Cyborg) Стартовая скорость не зависит от оплаты и составляет 7 кг/час. Коэффициент уставания – 0.01, но после 4 часов работы киборг выключается из-за истощения топливного элемента. Имя для всех ки- боргов одно (IС1000). В программе завести массив (или другой стандартный контейнер по вы- бору) указателей на собирателей, заполнить указателями на конкретных со- бирателей разных типов. Для измерения добычи для каждого объекта по указателю вызывается функция work без аргументов, возвращающая иско- мый показатель. Перед работой каждый сборщик получает (или игнорирует) оплату с помощью функции pay. После каждого часа работы скорость падает пропорционально коэффициенту уставания. Например, при начальной ско- рости 10 кг/час и коэффициенте уставания 0.15 в первый час будет собрано 10 кг, во второй – 8.5 кг, в третий – 7.225 кг. и т.д. Вывести почасовую добычу всех созданных собирателей. Предоставить возможность определить для каждого типа количество со- бирателей и полное количество всех собирателей. Программа не должна завершаться аварийно, приводить к утечке или порче памяти. Объектылюбого из созданных классов должныпозволять кор- ректную передачу в произвольную функцию по значению, а также возврат по значению из функции. Заранее спасибо! |
05.04.2011, 14:38 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Посоветую уделить немного времени прочтению схожих постов Помогите написать программу на PASCAL Помогите написать программу Помогите написать программу в Delphi Помогите написать программу в Excel Помогите написать программу |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
Опции темы | |
Опции просмотра | |
|
|