Текущее время: Пн 29 апр 2024 0:39

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 259 ]  На страницу Пред.  1 ... 5, 6, 7, 8, 9  След.

Насколько хорошо Вы знаете язык программирования С++?
Я проффесиональный разработчик 2%  2%  [ 1 ]
Программирование - моё хобби 20%  20%  [ 10 ]
Я только начинающий 44%  44%  [ 22 ]
А что такое С++? 34%  34%  [ 17 ]
Всего голосов : 50
Автор Сообщение
 Сообщение Пн 5 дек 2011 3:51
Профиль  
Разработчик идей
Аватара пользователя
Сообщения: 4577
Откуда: Минск, Беларусь
Зарегистрирован: Ср 14 ноя 2007 19:00
Шаман писал(а):
Сила = стопиццот * Синус + ещёстопиццот * УглСкорость

smt005 писал(а):
Mass - Даёт независимость того какой вес будет у физ. модели.
Во, этого я не учёл. Поправляем и имеем:

Force = (Kangle * SinAngle - Kw * wSpeed) * iMass,

где:
Kangle - эмперический коэффициент, ответственный за зависимость силы от угла поворота,
SinAngle - синус угла поворота,
Kw - эмперический коэффициент, меняющий тормозящую силу в зависимости от текущей скорости разворота,
wSpeed - скорость разворота,
iMass - множитель, чтоб объекты любой массы вращались одинаково. Только для правильности, это должен быть момент инерции, а не масса.

Значит вопрос "как коэффициенты подбирать?". По-отдельности. Сначала выставь Kw=0 и подбирай Kangle так, чтобы глайдер не слишком резко дёргался. Затем подбирай Kw. Учти, что потом, скорее всего, придётся снова увеличить Kangle.
Физический смысл этого уравнения такой: чем больше угол, тем больше сила. Однако, чем больше скорость, тем сила меньше. Две части под скобками противоборствуют.
Как мне кажется, глайд должен вертеться тем медленнее, чем ближе вектор направления к требуемому вектору. Интересно знать результ.

_________________
Сообщество креативных механоидов:
aim-fans.ru


 Сообщение Пн 5 дек 2011 15:32
Профиль  
#105d99
Аватара пользователя
Сообщения: 15233
Откуда: Москва, сектор бетонных домов
Зарегистрирован: Пн 20 фев 2006 3:56
Шаман писал(а):
Как мне кажется, глайд должен вертеться тем медленнее, чем ближе вектор направления к требуемому вектору

Разумеется, но скорость связана с силой линейно, а не напрямую, поэтому убавлять силу при приближении к нулю в общем случае неправильно. Главное, чтобы сила была нулевой в нуле координат, но она может и разрывно меняться.


 Сообщение Пн 5 дек 2011 19:56
Профиль  
Трёхмерный
Аватара пользователя
Сообщения: 3622
Зарегистрирован: Пн 17 янв 2005 19:23
Шаман писал(а):
Как мне кажется, глайд должен вертеться тем медленнее, чем ближе вектор направления к требуемому вектору.

Нет, теоретически угловая скорость глайдера должна быть одинаковая, и сила должна быть максимальной (которая задаётся).
Иначе глайдер на 10 градусов будет разворачиваться столько же времени сколько но 90, теоретически.
Правда с той формулой которая сейчас используется где СИЛА зависит от угла, работает нормально.

Добавлено спустя 1 минуту 49 секунд:

Цитата:
Только для правильности, это должен быть момент инерции, а не масса.

Так момент инерции неизвестен.

Добавлено спустя 2 часа 2 минуты 42 секунды:

Задача почти решена, но не так как хотелось.
В Физиксе есть функции с помощью которых можно задать нужную скорость и угловую скорость.

А теперь переведите пожалуйста эти предложения, тот кто хорошо знает английский.

Mass Manipulation

void setCMassLocalPose (const PxTransform &pose)
Sets the pose of the center of mass relative to the actor.

PxTransform getCMassLocalPose ()
Retrieves the center of mass pose relative to the actor frame.

void setMassSpaceInertiaTensor (const PxVec3 &m)
Sets the inertia tensor, using a parameter specified in mass space coordinates.

PxVec3 getMassSpaceInertiaTensor ()
Retrieves the diagonal inertia tensor of the actor relative to the mass coordinate frame.

_________________
https://sites.google.com/site/intelligencecells
http://www.youtube.com/user/IntelligenceCells


 Сообщение Вт 6 дек 2011 0:45
Профиль  
Разработчик идей
Аватара пользователя
Сообщения: 4577
Откуда: Минск, Беларусь
Зарегистрирован: Ср 14 ноя 2007 19:00
smt005 писал(а):
void setCMassLocalPose (const PxTransform &pose)
Устанавливает позицию центра масс относительно актёра.

smt005 писал(а):
PxTransform getCMassLocalPose ()
Возвращает позицию центра масс относительно frame'а актёра.
Чё тут значит frame - тебе виднее, что за физиксовский термин.
smt005 писал(а):
void setMassSpaceInertiaTensor (const PxVec3 &m)
Задаёт тензор инерции, используя параметр, указанный в системе координат массы.
:shock:
smt005 писал(а):
PxVec3 getMassSpaceInertiaTensor ()
Возвращает диагональный тензор инерции актёра относительно "mass coordinate frame" (?!?!).
Понять всё это мне никакие знания английского не помогут. Тебе-то хоть полегчало?.. :hm:

_________________
Сообщество креативных механоидов:
aim-fans.ru


 Сообщение Вт 6 дек 2011 0:51
Профиль  
Трёхмерный
Аватара пользователя
Сообщения: 3622
Зарегистрирован: Пн 17 янв 2005 19:23
1 Понятно.

2 В принципе понятно, но не понимание "Frame " не даёт полной уверенности.

3, 4 тоже не понятно что за "тензор".

_________________
https://sites.google.com/site/intelligencecells
http://www.youtube.com/user/IntelligenceCells


 Сообщение Вт 6 дек 2011 7:32
Профиль  
#105d99
Аватара пользователя
Сообщения: 15233
Откуда: Москва, сектор бетонных домов
Зарегистрирован: Пн 20 фев 2006 3:56
Тензор инерции - это такая хреновина, которая задает моменты инерции по всем осям.

Добавлено спустя 40 минут 43 секунды:

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


 Сообщение Чт 29 дек 2011 22:52
Профиль  
Механоид 3 поколения
Аватара пользователя
Сообщения: 490
Откуда: Украина,Донецкая об.
Зарегистрирован: Чт 4 авг 2011 15:54
Всем привет,это снова я ваш злостный флудильщик как некоторые считают, ну ладно.Так вот что я хотел узнать есть ли у нас здесь на форуме хорошо знающие люди с++ ?Дело в том что бы попытаться сделать Мехов он-лайн,нужен человек который напишет мод с позиционированием персонажей,для (клиента-сервера) со внешними переменными.Мне потом объяснят принцип действия (работы),если надо будет напишу вам дословно.А вообще есть у кого желание заняться этим?Да и я помогу чем могу кроме ЯП.


 Сообщение Ср 18 янв 2012 12:59
Профиль  
#105d99
Аватара пользователя
Сообщения: 15233
Откуда: Москва, сектор бетонных домов
Зарегистрирован: Пн 20 фев 2006 3:56
Я тут раздумывал над одной штукой, и в итоге, решил обратиться к коллективному разуму в лице нашего форума.
Вот, допустим, есть очень-очень длинная последовательность рандомных байтов(т.е. частота встречи любого байта одинакова), которая охватывает весь диапазон значений(т.е от 0 до 255), и мы шифруем эту последовательность при помощи простейшего xor`а ключём длиной один байт. Вопрос - существует ли способ наверняка сломать такой простой шифр, не зная ключа? В данном случае все достаточно просто - всего восьем бит ключ, точно известно, что шифрование происходит побайтово, кроме того, в последовательности есть байты, которые совпадают с ключем и которые представляют собой NOT от ключа. Длина последовательности условно бесконечна, т.е. мы всегда можем взять еще сколько-нибудь шифрованных байт, если не хватает.


 Сообщение Сб 21 янв 2012 20:42
Профиль  
Механоид 1 поколения
Аватара пользователя
Сообщения: 113
Откуда: Оренбург
Зарегистрирован: Вс 10 апр 2011 18:32
Пришла мысль: можно ли по координатам определенных обьектов построить новый обьект, вроде да?
Тогда локацию сформировать из больших кусков, которые при выделении будут заменяться на почти аналогичный по форме массив кубиков, а при терраморфинге можно разбивать изменяемый обьект на много кубиков, удалять/прибавлять кубики, и заново собирать обьект, вот только я еще не продумал как можно наложить текстуры, чтобы это нормально отображалось.

_________________
Успехи науки подарят человеку иллюзорное бытие, яркостью и
неожиданностью своей значительно превышающие бытие реаль-
ное.
Стругацкие.


 Сообщение Вс 22 янв 2012 10:11
Профиль  
Разработчик идей
Аватара пользователя
Сообщения: 4577
Откуда: Минск, Беларусь
Зарегистрирован: Ср 14 ноя 2007 19:00
А зачем кубики и при чём тут они вообще? Разве гладкополигонный ландшафт уже неактуален?
Касательно "кусков" - ИМХО, формованные отметины небольшого размера - типа воронок от взрывов некрасиво будет эмулировать прямо на карте высот. Выйдут шестиугольно-треугольные коряги. Ящитаю, кусок (куски) карты высот, которых затронул взрыв, должны временно "исчезать" и заменяться высокодетализированным патчем той же формы, что и изначальный кусок. Затем на высокдетализованном патче выдавливается воронка, которая со временем разглаживается - вспучивается обратно, пытаясь принять изначальную форму. Когда эффект достигается, патч заменяется обратно на карту высот.
Второй вариант - заведомо впучить карту высот поглубже, а наверх ещё наложить высокодетализованный патч.
Глобальный терраформинг должен иметь постоянный эффект и изменять сразу карту высот.

_________________
Сообщество креативных механоидов:
aim-fans.ru


 Сообщение Вс 22 янв 2012 11:29
Профиль  
#105d99
Аватара пользователя
Сообщения: 15233
Откуда: Москва, сектор бетонных домов
Зарегистрирован: Пн 20 фев 2006 3:56
Не, ну это конечно хорошо, в единичном случае, а что, если в одном месте будет много воронок? А если воронки пересекаются? Не сильно глубокие или очень большие образования лучше все-такие делать картой высот.


 Сообщение Вс 22 янв 2012 23:15
Профиль  
Разработчик идей
Аватара пользователя
Сообщения: 4577
Откуда: Минск, Беларусь
Зарегистрирован: Ср 14 ноя 2007 19:00
Razum писал(а):
Не, ну это конечно хорошо, в единичном случае, а что, если в одном месте будет много воронок?
Тогда лучше этот вариант:
Шаман писал(а):
Ящитаю, кусок (куски) карты высот, которых затронул взрыв, должны временно "исчезать" и заменяться высокодетализированным патчем той же формы, что и изначальный кусок. Затем на высокдетализованном патче выдавливается воронка, которая со временем разглаживается - вспучивается обратно, пытаясь принять изначальную форму. Когда эффект достигается, патч заменяется обратно на карту высот.
Идея в замене низкополигонального куска карты высокополигональным, чтобы маленькая воронка, размером в один треугольник реальной карты ландшафта могла быть детально выжата на высокополигональном патче, на котором она займёт зону в десятки-сотни треугов и будет выглядеть не треугольно, а вполне гладко. Со временем высокодетализованный морфированный патч стремится принять форму низкополигонального куска, который он заменяет, после чего патч исчезает (освобождая память) и заменяется обратно низкополигональным ландшафтом.

Ещё один способ придумал. Разбить весь ландшафт на квадраты, скажем, сто на сто метров. С детализацией, скажем, 1 вершина через каждый метр. Т.е. 10000 вершин в каждом куске. При перемещении игрока по карте, кусок, на котором находится игрок и 8 окружающих его кусков временно заменяются на высокодетализованные куски (10 вершин на метр, т.е. 1млн. вершин вместо 10тыс.). Эти куски динамически морфируемые. Когда игрок переходит границу между кусками, игровой движок снова делает подмены: те высокодетализированные куски, которые перестали быть в прямой близости от игрока, упрощаются до низкополигональных вариантов и записываются; а низкополигональные куски, к которым игрок приблизился, конвертируются в высокополигональные и становятся морфируемыми.

_________________
Сообщество креативных механоидов:
aim-fans.ru


 Сообщение Вс 22 янв 2012 23:56
Профиль  
#105d99
Аватара пользователя
Сообщения: 15233
Откуда: Москва, сектор бетонных домов
Зарегистрирован: Пн 20 фев 2006 3:56
Шаман писал(а):
Со временем высокодетализованный морфированный патч стремится принять форму низкополигонального куска, который он заменяет, после чего патч исчезает

Не, ну это как-то не ок. Получается, можно стоять, и смотреть, как земля залечивается? Тогда уж лучше делать так - пока игрок в зоне видимости - ниче не делать, а когда он сваливает, приблизить воронку низкополигональным ландшафтом(ну, будет треугольная, но не очень) + текстура, возможно даже бамп или параллакс, чтобы имитировать мелкие детали. Пока игрок где-то шарится, он забудет, как там реально выглядела воронка. С одной стороны, и воронка останется, можно хоть весь ландшафт расколбасить, с другой стороны, лишняя память не сожрется(все равно всю карту нужно текстурами покрывать, а тут текстуры травки, или чего там было, заменятся на горелые комья), плюс, как бонус - нельзя будет заметить прям перед носом махинаций. Или даже можно воронки на оцтойные заменять по мере расхода памяти - например, сделать настройку, типа, максимум столько-то кусков высокополигонального ландшафта, и пока резерв есть - куски оставлять, как были, как закончится - наиболее старые/наиболее незначительные менять на крупную сетку.


 Сообщение Пн 23 янв 2012 0:46
Профиль  
Разработчик идей
Аватара пользователя
Сообщения: 4577
Откуда: Минск, Беларусь
Зарегистрирован: Ср 14 ноя 2007 19:00
Шаман писал(а):
Ещё один способ придумал. ...

В этом же варианте ничего не исчезает, вроде? :hm: Просто при выходе куска из дальности видимости игрока он упрощается (замест 10 вершин выходит одна). Т.е. наплевал воронок вокруг, отлетел-прилетел обратно - а замест бугорков и воронок просто овраги.

_________________
Сообщество креативных механоидов:
aim-fans.ru


 Сообщение Пн 23 янв 2012 0:57
Профиль  
#105d99
Аватара пользователя
Сообщения: 15233
Откуда: Москва, сектор бетонных домов
Зарегистрирован: Пн 20 фев 2006 3:56
Шаман писал(а):
В этом же варианте ничего не исчезает, вроде?

Шаман писал(а):
стремится принять форму низкополигонального куска, который он заменяет

А у тебя так написано, как будто он к старому куску стремится.


 Сообщение Пн 23 янв 2012 1:38
Профиль  
Механоид 3 поколения
Аватара пользователя
Сообщения: 490
Откуда: Украина,Донецкая об.
Зарегистрирован: Чт 4 авг 2011 15:54
Без обид но зачем вы создаете проблемы?Я считаю что эти ямки в земле пока что не к чему:-)


 Сообщение Пн 23 янв 2012 1:57
Профиль  
Разработчик идей
Аватара пользователя
Сообщения: 4577
Откуда: Минск, Беларусь
Зарегистрирован: Ср 14 ноя 2007 19:00
Спасибо за звонок, Ваш голос принят.

Добавлено спустя 1 минуту 17 секунд:

Razum писал(а):
А у тебя так написано, как будто он к старому куску стремится.
Шаман писал(а):
Ещё один способ придумал. Разбить весь ландшафт на квадраты, скажем, сто на сто метров. С детализацией, скажем, 1 вершина через каждый метр. Т.е. 10000 вершин в каждом куске. При перемещении игрока по карте, кусок, на котором находится игрок и 8 окружающих его кусков временно заменяются на высокодетализованные куски (10 вершин на метр, т.е. 1млн. вершин вместо 10тыс.). Эти куски динамически морфируемые. Когда игрок переходит границу между кусками, игровой движок снова делает подмены: те высокодетализированные куски, которые перестали быть в прямой близости от игрока, упрощаются до низкополигональных вариантов и записываются; а низкополигональные куски, к которым игрок приблизился, конвертируются в высокополигональные и становятся морфируемыми.

З.Ы.: вот к чему приводит выборочное чтение отдельных слов в постах соседей... :no:

_________________
Сообщество креативных механоидов:
aim-fans.ru


 Сообщение Пн 23 янв 2012 2:19
Профиль  
Механоид 3 поколения
Аватара пользователя
Сообщения: 490
Откуда: Украина,Донецкая об.
Зарегистрирован: Чт 4 авг 2011 15:54
Ура, ура, я выграл машину!Надеюсь "Москвич" ? :-)


 Сообщение Пн 23 янв 2012 4:08
Профиль  
#105d99
Аватара пользователя
Сообщения: 15233
Откуда: Москва, сектор бетонных домов
Зарегистрирован: Пн 20 фев 2006 3:56
Шаман писал(а):
вот к чему приводит выборочное чтение отдельных слов в постах соседей...

Ты достал. Ты сам-то мои посты читаешь? Тебе что, процитировать их так же надо по три раза, чтобы ты обратил внимание наконец на что-то, кроме критического отношения к твоему подходу? И, в конце концов, то, что описал я, довольно сильно отличается от твоего предложения. Или что ты там хотел этим сказать?


 Сообщение Вс 12 фев 2012 20:14
Профиль  
Механоид 1 поколения
Аватара пользователя
Сообщения: 113
Откуда: Оренбург
Зарегистрирован: Вс 10 апр 2011 18:32
Есть люди на форуме, которые программируют не в С++, а в Дельфи? У меня к вам вопрос - как можно заставить работать физикс на дельфи, я слышал про врапперы - но хз, что это, т.е. не понял описание их и как их вообще использовать - может легче выучить си?

_________________
Успехи науки подарят человеку иллюзорное бытие, яркостью и
неожиданностью своей значительно превышающие бытие реаль-
ное.
Стругацкие.


 Сообщение Вс 12 фев 2012 20:42
Профиль  
#105d99
Аватара пользователя
Сообщения: 15233
Откуда: Москва, сектор бетонных домов
Зарегистрирован: Пн 20 фев 2006 3:56
Имхо, не только легче, но и полезней.


 Сообщение Вс 12 фев 2012 21:05
Профиль  
Трёхмерный
Аватара пользователя
Сообщения: 3622
Зарегистрирован: Пн 17 янв 2005 19:23
attashe писал(а):
У меня к вам вопрос - как можно заставить работать физикс на дельфи
Не работает не только в Delphi но и в Builder C++. Тебе надо сделать свою DLL через которую ты соможеш работать в PhysX.
Я так решил эту проблему.Но по любому тебе придётся использовать С++, т.к. PhysX понимает только Visual C++.

_________________
https://sites.google.com/site/intelligencecells
http://www.youtube.com/user/IntelligenceCells


 Сообщение Сб 18 фев 2012 18:06
Профиль  
Техногенный
Сообщения: 8299
Зарегистрирован: Пт 29 дек 2006 17:31
Вероятно, кто-то пользовался тут компилятором от Watcom?
Какой процедурой вызвать командную строку из кода программы?

_________________
thrusting squares through circles


 Сообщение Вт 22 май 2012 17:49
Профиль  
Механоид 5 поколения
Аватара пользователя
Сообщения: 2051
Откуда: Москва, Россия
Зарегистрирован: Пт 2 май 2008 13:35
Народ, я так понимаю здесь многие очень хорошо знают C++. Я вообще программирование знаю пока плохо. И мне задачку нужно сделать на тему, с которой я ещё не сталкивался, хотя поискав в инете, так понимаю, что для опытного человека - это расплюнуть.

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

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


Нужно создать шаблон класса "стек".

Помогите пожалуйста, желательно с /* комментариями */ ! :roll:


 Сообщение Вт 22 май 2012 20:19
Профиль  
Трёхмерный
Аватара пользователя
Сообщения: 3622
Зарегистрирован: Пн 17 янв 2005 19:23
Как выучить C++ за 21 день.

[img]http://img5.joyreactor.ru/pics/post/как-выучить-C++-за-21-день-Комиксы-humor-30805.png[/img]

_________________
https://sites.google.com/site/intelligencecells
http://www.youtube.com/user/IntelligenceCells


 Сообщение Вт 22 май 2012 20:32
Профиль  
Механоид 5 поколения
Аватара пользователя
Сообщения: 2051
Откуда: Москва, Россия
Зарегистрирован: Пт 2 май 2008 13:35
2 smt005
Это, конечно, интересный способ, но у меня нет 21-го дня на это задание)


 Сообщение Ср 23 май 2012 0:21
Профиль  
Разработчик идей
Аватара пользователя
Сообщения: 4577
Откуда: Минск, Беларусь
Зарегистрирован: Ср 14 ноя 2007 19:00
DrAKoN писал(а):
Нужно создать шаблон класса "стек".

Как я понимаю, тебе нужно 2 стэка: один эмулирует стоянку, другой - временное хранилище для выпихнутых со стоянки машин, да? Номер машины, положим, будет int.
Код:
class Stack{

 int size;  //Количество интов в массиве
 int *buf;  //Массив машинок

public:

//Конструктор класса обнуляет счётчик и указатель на массив
Stack():size(0),buf(NULL){}

//Деструктор очищает память, обнуляет счётчик
~Stack(){ free(buf); size=0; }

//Вытянуть последнюю машинку со стоянку, вернуть её номер
int Pull(){
 if(size==0)return 0; //Если машин в стаке нет, возвращаем номер 0
 int i = buf[size-1]; //Это номер вытянутой машины
 buf = (int*)realloc(buf, (size-1)*sizeof(int)); //Изменяем размер буффера
 size--; //Уменьшаем счётчик на 1
 return i;
}

//Впихнуть указанную машинку в стак
void Push(int i){
 buf = (int*)realloc(buf, (size+1)*sizeof(int)); //Изменяем размер буффера
 buf[size]=i; //Записываем указанный номер в последнюю ячейку
 size++; //Прибавляем к счётчику 1
}

};

Stack Parking, Temp; //Объявляем два стака: парковка и временное хранилище

_________________
Сообщество креативных механоидов:
aim-fans.ru


Последний раз редактировалось Shaman Ср 23 май 2012 2:38, всего редактировалось 2 раз(а).

 Сообщение Ср 23 май 2012 0:47
Профиль  
Скриптизёр
Сообщения: 10646
Откуда: Мариуполь
Зарегистрирован: Пт 13 апр 2007 17:15
Ты забыл size--, когда вытягиваешь.


 Сообщение Ср 23 май 2012 2:37
Профиль  
Разработчик идей
Аватара пользователя
Сообщения: 4577
Откуда: Минск, Беларусь
Зарегистрирован: Ср 14 ноя 2007 19:00
Спсб, поправил. :oops:

_________________
Сообщество креативных механоидов:
aim-fans.ru


 Сообщение Ср 23 май 2012 16:48
Профиль  
Механоид 5 поколения
Аватара пользователя
Сообщения: 2051
Откуда: Москва, Россия
Зарегистрирован: Пт 2 май 2008 13:35
2 Шаман
Спасибо! Но а как сделать так, чтобы задавать прибытие и отъезд командной строкой? Это 2-я часть в условии задачи.

Добавлено спустя 15 минут 55 секунд:

Вот есть такая прога, в которой можно типа машины удалять со стоянки, но это не совсем то, вроде как.

Код:
#include <iostream>
#include <stack>
using namespace std;
int Start();
void Replace(stack<int>&,int);

int main()
{
   return 0;
}

//------- Старт ------
int Start()
{
    stack<int> Garage;
    int kolvo=0;
    cout <<cin>> kolvo;
    for(int i = 0; i<kolvo; i++)
    Garage.push(0);
    int number=0, menu=0;
    do
    {
      cout << "В гараже " << kolvo << " машин" << endl;
      cout <<cin>> number;
      if(number>=kolvo)
      {
         cout << "Такой машины в гараже нет!" << endl;
      }
      else
      {
         Replace(Garage,number);
         kolvo--;
      }
      cout << "Хотите повторить? ДА - 1" <<endl>> menu;
   }
   while(menu == 1 && number != 0);
   return 0;
}

//----------------
void Replace(stack<int> &Garage, int number)
{
   stack<int> tmp;
   for(int i = 0; i < number; i++)
   {
      tmp.push(Garage.top()+1);
      Garage.pop();
   }
   cout << "Машина удалялась со стоянки " << Garage.top() << " раз" << endl;
   Garage.pop();
   while( !tmp.empty() )
   {
      Garage.push(tmp.top());
      tmp.pop();
   }
}


Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 259 ]  На страницу Пред.  1 ... 5, 6, 7, 8, 9  След.

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Вадим и гости: 39


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB