
09.06.2010, 15:45
|
|
Новичок
Регистрация: 02.01.2010
Сообщений: 26
С нами:
8608173
Репутация:
15
|
|
Пример программы для выезда машины из гаража
Пусть номер машины - это позиция в стеке.
Код:
#include <iostream>
#include <stack>
using namespace std;
int Start();
void Replace(stack<int>&,int);
int main(){
setlocale(LC_ALL,"Russian");
Start();
return 0;
}
//------- Старт ------/
int Start(){
stack<int> Garage;
int count = 0;
cout << "Сколько машин в гараже: ";
cin >> count;
for(int i = 0; i < count; i++)
Garage.push(0);
int number = 0, menu = 0;
do{
cout << "В гараже " << count << " машин" << endl;
cout << "Номер машины, которая покидает гараж: ";
cin >> number;
if(number >= count){
cout << "Такой машины в гараже нет!" << endl;
}
else{
Replace(Garage,number); count--;
}
cout << "Хотите повторить? ДА - 1" << endl;
cin >> 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();
}
}
Надеюсь условие задачи понял верно)
|
|
|