Показать сообщение отдельно

  #8  
Старый 09.06.2010, 15:45
XimiK69
Новичок
Регистрация: 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();
	}
}
Надеюсь условие задачи понял верно)
 
Ответить с цитированием