Как исправить ошибку "Превышен лимит времени"


Всем привет!
Пытаюсь запустить тесты в авроре,но после исчезновения соответствующего значка загрузки вылезает это
Кто может помочь с этой проблемой?
Задание 3_2_5_1
Заранее спасибо!

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

#include <stdlib.h>
#include <stdio.h>
#include <iostream>
using namespace std;
class Calculator{
	private:
	int x,y,i=1;
	char z;
	public:
	Calculator(int x,char z,int y){
		this->x=x;
		this->z=z;
		this->y=y;
		Something(x,z,y);
	}
	void Something(int& x, char& z,int& y){
		while(z!='C'){
			if(i>1){
				cin>>z;
				if(z=='C'){
					break;
				}
				cin>>y;
			}
			if(z=='*'){
				Multiply(x,y);
			}
			if(z=='+'){
				Plus(x,y);
			}
			if(z=='-'){
				Minus(x,y);
			}
			if(z=='%'){
				Percent(x,y);
			}
		}
	}
	void Multiply(int& x,int& y){
		x*=y;
		Cout(x);
	}
	void Plus(int& x,int& y){
		x+=y;
		Cout(x);
	}
	void Minus(int& x,int& y){
		x-=y;
		Cout(x);
	}
	void Percent(int& x,int& y){
		x%=y;
		Cout(x);
	}
	void Cout(int& x){
		if(!(i%3)){
			if(i>3){
				cout<<endl;
			}
			cout<<x;
			cout<<endl;
		}
	}
	~Calculator(){
		
	}
};
int main()
{
	int x,y;
	char z;
	cin>>x>>z>>y;
	Calculator a(x,z,y);
}

Ну тут отсутствует 1 include

    void Multiply(int& x, int& y)
	{
		x = y;
		Cout(x);
	}

Тут пропущен знак умножени, вместо *= проcто =

    while (z != 'C')
    		{
    			if (i > 1)
    			{
    				cin >> z;
    				if (z == 'C')
    				{
    					break;
    				}
    				cin >> y;
    			}
    			if (z =='*')
    			{
    				Multiply(x, y);
    			}
    			if (z == '+')
    			{
    				Plus(x, y);
    			}
    			if (z == '-')
    			{
    				Minus(x, y);
    			}
    			if (z == '%')
    			{
    				Percent(x, y);
    			}
    		}

Вот тут банальное зацикливание, i всегда равно 1 и нигде не меняется. Из-за этого аврора выдает ошибку

    void Cout(int& x)
    	{
    		if (!(i % 3))
    		{
    			if (i > 3)
    			{
    				cout << endl;
    			}
    			cout << x;
    			cout << endl;
    		}
    	}

Тут я вовсе не понимаю что за специфическая реализация вывода. Нужно смотреть задание.
Не знаю зачем внутри класса передавать параметры класса, когда они хранятся в классе. Это какое-то извращение…
Мельком посмотрел, может что упустил.

И ещё, лучше прикладывай код файлом, а не так как выше.

1 Like