Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 29.10.2015
Сообщений: 3

Размещение панелек друг над другом в псевдографике

22.12.2015, 01:59. Показов 751. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Не знал, куда такое задание кинуть, надеюсь, что попал по адресу.
Если что это задание для первокурсника факультета информатики.

Описание задания:
Задание заключается в выполнении разных действий на картинках, состоящих из светящихся(х) и погасших(.) Элементов. Рассматриваем теоретическую дискретную координатную плоскость от -10000 до 10000 по осям х и у.
Действия предусматривают размещение на плоскости от 1 до 100 панелей картинок, пронумерованных от 1 до 10000(т.е. первая панель может иметь номер 50 или 1000). Причем высота и длина от 1 до 500 точек каждой панели.
Входные данные:
Состоят из 2ух частей:
1) количество и параметры используемых в программе панелек
2) запись самих действий
Спецификация используемых панелек:
1) Первое число показывает, сколько будет использовано панелек(положительное число)
2)Каждая панелька описана по образцу:
p x1 y1 x2 y2
где р - номер панели, сама панель задается двумя противолежащими точками с координатами (х1, у1) и (х2, у2)
3) значение р может быть от 1 до 10000
4) координаты панели может быть от -10000 до 10000
5)длина и ширина панели может быть от 1 до 500
6) вначале работы программы все точки каждой панели погашены(т.е. обозначены точкой(.))

Спецификация действий:
1) количество операций может быть бесконечным
2) последние действие описанное словом Exit означает выход из программы
3) между действиями и введенными параметрами может быть любое количество пробелов

ОПЕРАЦИИ:
1) DisplayPanel p
выводит на экран в текстовом виде панель с номером р в пределах координат, которые описали данную панель
Причем погашенные точки обозначаются точкой (.) и светящиеся точки обозначаются знаком х.
2) ClearRegion p x1 y1 x2 y2
все точки панели р в прямоугольнике, описанным координатами противоположных углов(x1, y1) и (x2, y2), становятся погасшими.
3) DrawLine p x1 y1 x2 y2
на панели р все точки на отрезке (x1, y1) до (x2, y2) становятся светящимися. Отрезок может быть горизонтальный, вертикальный и диагональный(т.е под углом 45°)
4) DrawRectangle p x1 y1 x2 y2
(х1, у1) и (х2, у2) - координаты противолежащих углов прямоугольника. Операция заключается в высветлении границ прямоугольника(т.е. отрезки, без внутренней части) на панели р.
5) DrawPoly p n x1 y1 ... xn, yn
Нарисовать ломанную от (x1,y1) ... (xn, yn). могут быть горизонталные, вертикальные и диагональные линии, как в случае DrawLine
6) CopyRegion pFrom x1 y1 x2 y2 pTo x3 y3
(х1, у1) и (х2, у2) - координаты противолежащих углов прямоугольника. (x3, y3) - координаты угла другого прямоугольника такого же размера. х3 + у3 - наименьшее значение. Операция копирует этот участок с панели pFrom до панели pTo.
7) Joinregion pFrom x1 y1 x2 y2 pTo x3 y3
Тоже самое что и CopyRegion, только светящиеся точки не становятся погасшими, даже если эта точка была погашена в том же месте на панели pFrom.
8) MoveRegion p x1 y1 x2 y2 dx dy
(х1, у1) и (х2, у2) - координаты противолежащих углов прямоугольника. р - номер панели. dx, dy - координаты вектора, по которому будет передвинут прямоугольник. Перенесение светящихся точек означает, что на их месте появляются погасшие точки.
9) RotateRegion p x1 y1 x2 y2 a
(х1, у1) и (х2, у2) - координаты противолежащих углов прямоугольника. а - угол в градусах на который будет повернут прямоугольник. точка поворота - середина выделенного прямоугольника, против часовой стрелки. Угол может быть 90, 180, 270, 360 градусов и тд.(угол может быть и отрицательным)

Дополнительные данные:
1)Можно использовать только iostream и string
2)запрещено использование динамической памяти, т.е. слов new, функции malloc, calloc, alloc и подобных
3)Данное задание имеет ограничение по памяти(14мб).



Ниже приведены немного примеров работы данной программы

Если что не понятно по условию, то задавайте вопросы.
Задание было не на русском, переводил быстро, может где-то вышло странно.
Миниатюры
Размещение панелек друг над другом в псевдографике   Размещение панелек друг над другом в псевдографике   Размещение панелек друг над другом в псевдографике  

Размещение панелек друг над другом в псевдографике  
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.12.2015, 01:59
Ответы с готовыми решениями:

Размещение двух div друг над другом
Есть 2 div`а: <div class="d1"></div> <div class="d2">asd</div> Их стили: .d1 { position:...

Дивы друг над другом
Здраствуйте. имеются двы дива внутри одного: <div class="desk"> <div class="objects"></div> <div...

Позиционирование картинок друг над другом
Добрый день. подскажите, пожалуйста, как наложить несколько картинок поверх друг друга? Две картинки я уже разместила, одну поверх...

5
 Аватар для Ryuk
183 / 182 / 56
Регистрация: 10.06.2011
Сообщений: 871
22.12.2015, 02:03
Цитата Сообщение от Joyushka Посмотреть сообщение
куда такое задание кинуть
А зачем?
В чем собственно ваш вопрос заключается?
0
0 / 0 / 0
Регистрация: 29.10.2015
Сообщений: 3
22.12.2015, 02:06  [ТС]
Я думал, тут будет кому-нибудь интересно решать задачи такого типа, если нет, то можете просто удалить
0
22.12.2015, 02:10

Не по теме:

Joyushka, на этот форум обычно приходят самые ленивые, или совсем отчаявшиеся люди.
Такие как вы тут редкость)

0
22.12.2015, 02:12

Не по теме:

Цитата Сообщение от Joyushka Посмотреть сообщение
кому-нибудь интересно
Интересно, но как выше написали - здесь такое редкость)

0
0 / 0 / 0
Регистрация: 29.10.2015
Сообщений: 3
22.12.2015, 02:15  [ТС]
жаль, задание интересное, ну если никому не надо, можно выкинуть в мусорку

Добавлено через 1 минуту
Тут вообще такое решают, просто я тут появлялся в поисках какого-нибудь фрагмента кода, а тут дали такое задание, и как бы понимаю все, но не выходит сделать его.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.12.2015, 02:15
Помогаю со студенческими работами здесь

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

Как поменять несколько слоев div, находящихся друг над другом, местами
Как поменять несколько слоев div, находящихся друг над другом, местами? Например: Слой1 Слой1а Слой2 Слой2а Слой3 Слой3а ...

MFC. Как работать с элементами которые друг над другом и они полностью перекрываются
Только начал изучать MFC и API. Вопрос, связанный с удобством работы. Не совсем разобрался как работает CTabControl, как добавлять...

"Тетрис": как создать конец игры? Игра не заканчивается и фигуры появляются друг над другом
#include <SFML/Graphics.hpp> #include <time.h> using namespace sf; const int M = 20; const int N = 10; int field = { 0 }; ...

Размещение элемента над другими элементами
Есть окно которое активируется при нажатии кнопки: .add-product-window{ display: none; width: 400px; height: 500px; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Функция установки текстового статуса в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru