+147        
        
                        - 001
 - 002
 - 003
 - 004
 - 005
 - 006
 - 007
 - 008
 - 009
 - 010
 - 011
 - 012
 - 013
 - 014
 - 015
 - 016
 - 017
 - 018
 - 019
 - 020
 - 021
 - 022
 - 023
 - 024
 - 025
 - 026
 - 027
 - 028
 - 029
 - 030
 - 031
 - 032
 - 033
 - 034
 - 035
 - 036
 - 037
 - 038
 - 039
 - 040
 - 041
 - 042
 - 043
 - 044
 - 045
 - 046
 - 047
 - 048
 - 049
 - 050
 - 051
 - 052
 - 053
 - 054
 - 055
 - 056
 - 057
 - 058
 - 059
 - 060
 - 061
 - 062
 - 063
 - 064
 - 065
 - 066
 - 067
 - 068
 - 069
 - 070
 - 071
 - 072
 - 073
 - 074
 - 075
 - 076
 - 077
 - 078
 - 079
 - 080
 - 081
 - 082
 - 083
 - 084
 - 085
 - 086
 - 087
 - 088
 - 089
 - 090
 - 091
 - 092
 - 093
 - 094
 - 095
 - 096
 - 097
 - 098
 - 099
 - 100
 
                        int main()
{
	setlocale(LC_ALL, "Russian");
	int chisl,znam,cel;
	Fraction fA,fB,fC;
	cout<<"Введите fA в виде двух чисел\n";cin>>fA.chisl>>fA.znam;
	cout<<"Введите fB в виде двух чисел\n";cin>>fB.chisl>>fB.znam;
	cout<<"Введите целое число\n";cin>>cel;
	if ((fA.znam!=0)&&(fB.znam!=0)&&(cel!=0))
	{
	fC=fA+fB;
	fC.getFraction(chisl,znam);
	if((znam!=1)&&(chisl!=0))
		cout<<"Сумма: "<< chisl << "/" << znam <<'\n';
	else
		cout<<"Сумма: "<< chisl <<'\n';
	fC=fA-fB;
	fC.getFraction(chisl,znam);
	if ((znam!=1)&&(chisl!=0))
		cout<<"Разность: "<< chisl << "/" << znam <<'\n';
	else 
		cout<<"Разность: "<< chisl <<'\n';
	fC=fA*fB;
	fC.getFraction(chisl,znam);
	if ((znam!=1)&&(chisl!=0))
		cout<<"Произведение: "<< chisl << "/" << znam <<'\n';
	else 
		cout<<"Произведение: "<< chisl <<'\n';
	fC=fA/fB;
	fC.getFraction(chisl,znam);
	if((znam!=1)&&(chisl!=0)&&(znam!=0))
		cout<<"Частное: "<< chisl << "/" << znam <<'\n';
	else if(znam==0) 
		cout<<"Частного дробей не существует\n";
	else if(znam==1)
		cout<<"Частное: "<< chisl <<'\n';
	else
		cout<<"Частное: 0\n";
	fC=fA+cel;
	fC.getFraction(chisl,znam);
	if((znam!=1)&&(chisl!=0))
		cout<<"Сумма первой дроби и целого числа: "<< chisl << "/" << znam <<'\n';
	else
		cout<<"Сумма первой дроби и целого числа: "<< chisl <<'\n';
	fC=fA-cel;
	fC.getFraction(chisl,znam);
	if((znam!=1)&&(chisl!=0))
		cout<<"Разность первой дроби и целого числа: "<< chisl << "/" << znam <<'\n';
	else
		cout<<"Разность первой дроби и целого числа: "<< chisl <<'\n';
	fC=fA*cel;
	fC.getFraction(chisl,znam);
	if((znam!=1)&&(chisl!=0))
		cout<<"Произведение первой дроби и целого числа: "<< chisl << "/" << znam <<'\n';
	else 
		cout<<"Произведение первой дроби и целого числа: "<< chisl <<'\n';
	fC=fA/cel;
	fC.getFraction(chisl,znam);
	if ((znam!=1)&&(chisl!=0))
		cout<<"Частное первой дроби и целого числа: "<< chisl << "/" << znam <<'\n';
	else if(znam==1)
		cout<<"Частное первой дроби и целого числа: "<< chisl <<'\n';
	else
		cout<<"Частное первой дроби и целого числа: 0\n";
	fC=fB+cel;
	fC.getFraction(chisl,znam);
	if((znam!=1)&&(chisl!=0))
		cout<<"Сумма второй дроби и целого числа: "<< chisl << "/" << znam <<'\n';
	else
		cout<<"Сумма второй дроби и целого числа: "<< chisl <<'\n';
	fC=fB-cel;
	fC.getFraction(chisl,znam);
	if((znam!=1)&&(chisl!=0))
		cout<<"Разность второй дроби и целого числа: "<< chisl << "/" << znam <<'\n';
	else
		cout<<"Разность второй дроби и целого числа: "<< chisl <<'\n';
	fC=fB*cel;
	fC.getFraction(chisl,znam);
	if((znam!=1)&&(chisl!=0))
		cout<<"Произведение второй дроби и целого числа: "<< chisl << "/" << znam <<'\n';
	else 
		cout<<"Произведение второй дроби и целого числа: "<< chisl <<'\n';
	fC=fB/cel;
	fC.getFraction(chisl,znam);
	if ((znam!=1)&&(chisl!=0))
		cout<<"Частное второй дроби и целого числа: "<< chisl << "/" << znam <<'\n';
	else if(znam==1)
		cout<<"Частное второй дроби и целого числа: "<< chisl <<'\n';
	else
		cout<<"Частное второй дроби и целого числа: 0\n";
	fC=~fA;
	fC.getFraction(chisl,znam);
	if((znam!=1)&&(chisl!=0))
		cout<<"Сокращенная дробь равна: "<< chisl << "/" << znam <<'\n';
	else 
		cout<<"Сокращенная дробь равна: "<< chisl <<'\n';
	}
	else 
		cout<<"Знаменатель дроби или целое число равны нулю, поэтому дроби не существует"<<'\n';
	return 0;
                                 
        
            Задача. Определить класс натуральная дробь, объекты которого числитель и знаменатель. Надо перегрузить операторы сложения, вычитания, умножения, делания и сокращения дробей, а так же сложения, вычитания, умножения и деления дроби и целого числа. То есть калькулятор дробей фактически. Написал, как-то жестоко получилось. Добавлю сразу, чтобы не было лишних разговоров. Это не задание в универе, сессия закончилась, каникулы, это для интереса, смотрю то, что мы еще не проходили. Кажется условий слишком много, короче ведь можно сделать?
П.С. Прошу удалить код предыдущей программы, она на транслите и я не думаю что ее будет удобно читать.
        
        
            Запостил: 
 ForEveR,
            15 Июня 2010
        
        
            
            
        
        
    
 
Или в Нелидово вы только пасквиль учили?
Может у тебя баттхёрт на институлоту?
бабы не дают такому задроту, учителя в школе прелюдно озалупливают и твои кореша считают тебя говном?
ты поэтому срешь сомнительные каменты на гк?
если бы гк был веселым на транслит всем было бы пох
> школоту
А ты знаешь, что "предлагаю" пишется через "а"? Не рано ли тебе супротив школьников выступать?
вот где говнокод. у меня убунту в утф8 и всё выводится норм (если сам код не в цп1251 сохранён..).
printf("Хуй"); сразу воркает.
В винде чтоб работало, нужно алсо завести файл в utf8, и перед выводом юзать CharToOem.
В прочем, не ебу как в с++ это делается, потому что не пидарас.
В скорости?