МИНИСТЕРСТВО ОБЩЕГО И ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ.
МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ АВИАЦИОННО-ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ
им. К.Э. ЦИОЛКОВКОГО
КАФЕДРА ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ
Курсовая работа второго курса второго семестра.
Руководитель: Чернадский
Дата сдачи: _____________
Подпись: _____________
Студент: Лицентов Д.Б.
Группа: 3ИТ-2-26
Москва
1998
Постановка задачи.
Необходимо реализовать список вида:
Техническое описание программы.
В программе предусмотрена работа со списком, которая включает в себя:
Создание нового вписка;
Добавление элемента в список;
Вывод списка на дисплей;
Сохранение данных списка в файл;
Читение данных из файла;
Удаление списка из памяти компьютера;
Поиск элемента в списке;
Сортировка списка;
Удаление элемента списка.
Спецификация программы.
Ввод данных в программу может осуществляться двумя спосабами: ввод с клавиатуры или из файла.
Для работы с файлом необходимо на соответствующий запрос программы ввести имя файла, из которого будут взяты данные для построения списка.
Для нормальной работы программы требуется PC совместимый компьютер и компилятор Borland 3.01 и выше. При использование иного сочетая характеристик системы на которой будет тестироваться программа возможны некоторые расхождения с результатами теста, но в основном ничего страшного произойти не должно.
Текст программы.
#include
#include
class List
{struct Tree
{int Body;
Tree *LP;
Tree *RP;
Tree(int Bdy=0) {Body=Bdy; LP=NULL; RP=NULL;}
~Tree() {Body=0; LP=NULL; RP=NULL;}
};
public:
List(int Digit=0);
Tree *Root;
List *LNext;
List *LPrev;
};
List::List(int Digit)
{Root=NULL;
for
(int i=Digit*10; i
{Tree
*PTree;
PTree=new
Tree(i);
PTree->LP=NULL;
PTree->RP=NULL;
if
(Root==NULL)
Root=PTree;
else
{Tree
*PTree1=Root;
do
{if
(PTree1->LP!=NULL)
PTree1=PTree1->LP;}
while
(PTree1->LP!=NULL);
PTree1->LP=PTree;
PTree=NULL;
PTree1=NULL;
}
}
}
class
TreeWork : private List
{public:
void
TreeWorkStart();
private:
int
ElementQuantity;
int
Mass;
int
i;
List
*BegP;
List
*PList;
int
MainMenu();
int
Work(int Task);
int
MakeNewList();
int
AddElements();
int
PrintList();
void
EraseList();
int
DeleteElement();
int
FindElement();
int
SubMenu();
int
SubWork(int Task);
int
SortByIncrease();
int
SortByDecrease();
int
SaveList();
int
OpenList();
protected:
void
GoThroughTree(Tree *L);
void
Erase(Tree *L);
};
int
TreeWork::MainMenu()
{cout<
cout<<"
1. Make New List." <
cout<<"
2. Add Element." <
cout<<"
3. Print List." <
cout<<"
4. Delete Element."<
cout<<"
5. Save List." <
cout<<"
6. Erase List." <
cout<<"
7. Open File." <
cout<<"
8. Find Element." <
cout<<"
9. Sort List." <
cout<<"
0. Exit." <
cout<
int
i;
do
{cin>>i;
if
(i<0>9) cout<
}
while
(i<0>9);
return
i;
}
int
TreeWork::SubMenu()
{cout<
cout<<"1.
Sort list by increase."<
cout<<"2.
Sort list by decrease."<
int
i;
cout<<"Your
choice: ";
do
{cin>>i;
if
(i<1>2) cout<
}
while
(i<1>2);
return
i;
}
int
TreeWork::SubWork(int Task)
{switch
(Task)
{case
1 : SortByIncrease(); break; //Increase
case
2 : SortByDecrease(); break; //Decrease
}
return
0;
}
int
TreeWork::Work(int Task)
{switch
(Task)
{case
1 : ElementQuantity=MakeNewList(); break; //Make New List
case
2 : ElementQuantity+=AddElements(); break; //Add Element
case
3 : PrintList(); break; //Print List
case
4 : DeleteElement(); break; //Delete Element
case
5 : SaveList(); break; //Save List
case
6 : ElementQuantity=0; EraseList(); break; //Erase List
case
7 : OpenList(); break; //Open File
case
8 : FindElement(); break; //Find Element
case
9 : SubWork(SubMenu()); break; //Sort List
case
0 : EraseList(); return -1; //Exit
}
return
0;
}
void
TreeWork::TreeWorkStart()
{ElementQuantity=0;
do
{} while (Work(MainMenu())!=-1);
}
int
TreeWork::MakeNewList()
{if
(BegP!=NULL)
{cout<
int
Quant;
cout<
do
{cin>>Quant;
if
(Quant<1>
cout<
}
while
(Quant<1>
for
(int i=0; i
{cout<
int
Digit; cin>>Digit;
PList=new
List(Digit);
if
(BegP==NULL)
{BegP=PList;
BegP->LNext=BegP;
BegP->LPrev=BegP;
PList=NULL;}
else
{List
*PList1=BegP->LPrev;
if
(PList1==BegP)
{BegP->LNext=PList;
BegP->LPrev=PList;
PList->LNext=BegP;
PList->LPrev=BegP;
PList=NULL;
PList1=NULL;}
else
{BegP->LPrev=PList;
PList1->LNext=PList;
PList->LNext=BegP;
PList->LPrev=PList1;
PList=NULL;
PList1=NULL;}
}
}
return
Quant;
}
int
TreeWork::AddElements()
{if
(BegP==NULL)
{MakeNewList();
return 0;}
int
Quant;
cout<
do
{cin>>Quant;
if
(Quant<1>
cout<
}
while
(Quant<1>
for
(int i=0; i
{cout<
int
Digit;
cin>>Digit;
PList=new
List(Digit);
List
*PList1=BegP->LPrev;
if
(PList1==BegP)
{BegP->LNext=PList;
BegP->LPrev=PList;
PList->LPrev=BegP;
PList->LNext=BegP;
PList1=NULL;
PList=NULL;}
else
{BegP->LPrev=PList;
PList->LNext=BegP;
PList->LPrev=PList1;
PList1->LNext=PList;
PList=NULL;
PList1=NULL;}
}
return
Quant;
}
int
TreeWork::PrintList()
{if
(BegP==NULL)
{cout<
cout<
PList=BegP;
int
i=1;
do
{cout<
GoThroughTree(PList->Root);
cout<
i++;
PList=PList->LNext;}
while
(PList!=BegP);
return
0;
}
void
TreeWork::GoThroughTree(Tree *L)
{Tree
*PL=L, *PL1;
if
(PL->LP!=NULL)
{PL1=PL;
PL=PL->LP;
cout<<"("<
GoThroughTree(PL);}
if
(PL->RP!=NULL)
{PL1=PL;
PL=PL->RP;
cout<<"("<
GoThroughTree(PL);}
}
void
TreeWork::Erase(Tree *L)
{Tree
*PL=L;
if
(PL->LP!=NULL)
{PL=PL->LP;
Erase(PL);}
if
(PL->RP!=NULL)
{PL=PL->RP;
Erase(PL);}
PL->LP=NULL;
PL->RP=NULL;
}
void
TreeWork::EraseList()
{if
(BegP!=NULL)
{do
{List
*PList1=BegP->LNext;
PList=PList1->LNext;
BegP->LNext=PList;
PList->LPrev=BegP;
Erase(PList1->Root);
delete
[] PList1;
}
while
(PList!=BegP);
BegP=NULL;
PList=NULL;
}
}
int
TreeWork::DeleteElement()
{cout<
int
Number=0;
cin>>Number;
if
(Number>ElementQuantity || Number<0>
{cout<
Number--;
PList=BegP;
for
(int i=0; i
PList=PList->LNext;
List
*PList1=PList->LNext, *PList2=PList->LPrev;
if
(PList==BegP)
{PList1->LPrev=PList2;
PList2->LNext=PList1;
PList->LNext=NULL;
PList->LPrev=NULL;
delete
[] PList;
BegP=PList1;
PList1=NULL;
PList2=NULL;}
else
{PList1->LPrev=PList2;
PList2->LNext=PList1;
PList->LNext=NULL;
PList->LPrev=NULL;
delete
[] PList;
PList1=NULL;
PList2=NULL;}
ElementQuantity--;
return
0;
}
int
TreeWork::FindElement()
{cout<
int
Number=0;
cin>>Number;
PList=BegP;
do
{Tree
*PT=PList->Root;
if
(Number>PT->Body && Number
{cout<
GoThroughTree(PList->Root);
PList=NULL;
cout<
PList=PList->LNext;
}
while
(PList!=BegP);
cout<
PList=NULL;
return
-1;
}
int
TreeWork::SortByIncrease()
{
if(BegP==NULL)
{cout<
List
*PList1=BegP; PList=BegP;
do
{do
{if
(PList1->Root->Body>PList->Root->Body)
{Tree
*PT;
PT=PList1->Root;
PList1->Root=PList->Root;
PList->Root=PT;
PT=NULL;}
PList1=PList1->LNext;
}
while
(PList1!=BegP);
PList=PList->LNext;
}
while
(PList!=BegP);
return
0;
}
int
TreeWork::SortByDecrease()
{
if(BegP==NULL)
{cout<
List
*PList1=BegP; PList=BegP;
do
{do
{if
(PList1->Root->Body
{Tree
*PT;
PT=PList1->Root;
PList1->Root=PList->Root;
PList->Root=PT;
PT=NULL;}
PList1=PList1->LNext;
}
while
(PList1!=BegP);
PList=PList->LNext;
}
while
(PList!=BegP);
return
0;
}
int
TreeWork::SaveList()
{if
(BegP==NULL)
{cout<
ofstream
F;
char
*FileName=new char[25];
cout<
F.open(FileName);
PList=BegP;
do
{i=0;
Mass=PList->Root->Body;
PList=PList->LNext;
if
(PList!=BegP)
F<
else
F<
}
while
(PList!=BegP);
F.close();
delete
[] FileName;
return
0;
}
int
TreeWork::OpenList()
{if
(BegP!=NULL)
{cout<
cout<
char
*FileName=new char[25];
cin>>FileName;
ifstream
f;
ElementQuantity=0;
f.open(FileName);
char
Next;
Next=f.peek();
while
(Next!=EOF)
{
f>>Mass;
PList=new
List(Mass/10);
if
(BegP==NULL)
{BegP=PList;
BegP->LNext=BegP;
BegP->LPrev=BegP;
PList=NULL;}
else
{List
*PList1=BegP->LPrev;
if
(PList1==BegP)
{BegP->LNext=PList;
BegP->LPrev=PList;
PList->LNext=BegP;
PList->LPrev=BegP;
PList=NULL;
PList1=NULL;}
else
{BegP->LPrev=PList;
PList1->LNext=PList;
PList->LNext=BegP;
PList->LPrev=PList1;
PList=NULL;
PList1=NULL;}
}
Next=f.peek();
ElementQuantity++;
}
f.close();
delete
[] FileName;
return
0;
}
TreeWork
TW;
void
main()
{TW.TreeWorkStart();}
Результаты
работы программы.
Начало
работы:
Main
Menu:
1.
Make New List.
2.
Add Element.
3.
Print List.
4.
Delete Element.
5.
Save List.
6.
Erase List.
7.
Open File.
8.
Find Element.
9.
Sort List.
0.
Exit.
Your
choice :
Для
создания списка выбираем пункт 1:
Main
Menu:
1.
Make New List.
2.
Add Element.
3.
Print List.
4.
Delete Element.
5.
Save List.
6.
Erase List.
7.
Open File.
8.
Find Element.
9.
Sort List.
0.
Exit.
Your
choice : 1
Input
kol-vo of elements:
Вводим
количество элементов в списке (предположим
4):
Main
Menu:
1.
Make New List.
2.
Add Element.
3.
Print List.
4.
Delete Element.
5.
Save List.
6.
Erase List.
7.
Open File.
8.
Find Element.
9.
Sort List.
0.
Exit.
Your
choice : 1
Input
kol-vo of elements: 4
Input
digit:
Успешное
завершение ввода списка:
Input
kol-vo of elements: 4
Input
digit: 1
Input
digit: 2
Input
digit: 3
Input
digit: 4
Main
Menu:
1.
Make New List.
2.
Add Element.
3.
Print List.
4.
Delete Element.
5.
Save List.
6.
Erase List.
7.
Open File.
8.
Find Element.
9.
Sort List.
0.
Exit.
Your
choice :
После
ввода списка попадаем в главное меню
где выбираем пункт добавления элемента
:
Input
digit: 1
Input
digit: 2
Input
digit: 3
Input
digit: 4
Main
Menu:
1.
Make New List.
2.
Add Element.
3.
Print List.
4.
Delete Element.
5.
Save List.
6.
Erase List.
7.
Open File.
8.
Find Element.
9.
Sort List.
0.
Exit.
Your
choice : 2
Input
kol-vo of elements:
Программа
просит ввести количечтво элементов
которое мы хотим добавит к нашему списку.
Вводим 1 (для примера):
Input
digit: 2
Input
digit: 3
Input
digit: 4
Main
Menu:
1.
Make New List.
2.
Add Element.
3.
Print List.
4.
Delete Element.
5.
Save List.
6.
Erase List.
7.
Open File.
8.
Find Element.
9.
Sort List.
0.
Exit.
Your
choice : 2
Input
kol-vo of elements: 1
Input
digit:
Далее
происходит ввод списка как было описано
выше.
После
удачного завершения добавления элемента
в список мы вновь попадаем в главное
меню, где выбираем пункт вывода списка
на экран монитора:
1
element: 1234
2
element: 2345
3
element: 3456
4
element: 4567
5
element: 2345
Main
Menu:
1.
Make New List.
2.
Add Element.
3.
Print List.
4.
Delete Element.
5.
Save List.
6.
Erase List.
7.
Open File.
8.
Find Element.
9.
Sort List.
0.
Exit.
Your
choice :
Быстро
проскользнув мимо Ваших глаз непонятные
данные вы снова попадаете в главное
меню, где выбираете пункт удаление
элемента:
2
element: 2345
3
element: 3456
4
element: 4567
5
element: 2345
Main
Menu:
1.
Make New List.
2.
Add Element.
3.
Print List.
4.
Delete Element.
5.
Save List.
6.
Erase List.
7.
Open File.
8.
Find Element.
9.
Sort List.
0.
Exit.
Your
choice : 4
Input
number of element: 5
После
чего элемент с введённым номером удален.
После удачного завершения удаления
элемента Вы снова попадаете в главное
меню, где выбираете пункт сохранение
списка:
Main
Menu:
1.
Make New List.
2.
Add Element.
3.
Print List.
4.
Delete Element.
5.
Save List.
6.
Erase List.
7.
Open File.
8.
Find Element.
9.
Sort List.
0.
Exit.
Your
choice : 5
Input
file name: demon13.txt
После
ввода имени файла данные из списка
попадают на диск. И вы снова в главном
меню, где выбираете удаление списка:
5.
Save List.
6.
Erase List.
7.
Open File.
8.
Find Element.
9.
Sort List.
0.
Exit.
Your
choice : 5
Input
file name: demon13.txt
Main
Menu:
1.
Make New List.
2.
Add Element.
3.
Print List.
4.
Delete Element.
5.
Save List.
6.
Erase List.
7.
Open File.
8.
Find Element.
9.
Sort List.
0.
Exit.
Your
choice : 6
После
чего все данные в списке безвозвратно
умирают и Вы опять у главного списка, и
выбираете Вы – открыть файл:
5.
Save List.
6.
Erase List.
7.
Open File.
8.
Find Element.
9.
Sort List.
0.
Exit.
Your
choice : 6
Main
Menu:
1.
Make New List.
2.
Add Element.
3.
Print List.
4.
Delete Element.
5.
Save List.
6.
Erase List.
7.
Open File.
8.
Find Element.
9.
Sort List.
0.
Exit.
Your
choice : 7
Input
file name: demon13.txt
После
чего ваш список оживает и … не надо «и»
- лучше продолжим – Вы в главном меню и
Вы выбираете найти элемент:
Main
Menu:
1.
Make New List.
2.
Add Element.
3.
Print List.
4.
Delete Element.
5.
Save List.
6.
Erase List.
7.
Open File.
8.
Find Element.
9.
Sort List.
0.
Exit.
Your
choice :8
Input
number, you want to find: 2
The
first element that we fined out:
1234
Вы
вводите то что хотели найти и – находите
в строчке ХХХХХ. Главное меню/Сортировка:
Main
Menu:
1.
Make New List.
2.
Add Element.
3.
Print List.
4.
Delete Element.
5.
Save List.
6.
Erase List.
7.
Open File.
8.
Find Element.
9.
Sort List.
0.
Exit.
Your
choice : 9
Sub
Menu:
1.
Sort list by increase.
2.
Sort list by decrease.
Your
choice:
Ту
мы можем сортировать по возрастанию
или убыванию (ведь у человека всегда
должен быть выбор!). После сортировки
Главное меню/Выход! Всё программа
завершилась успешно! А поскольку эти
тесты никто не читает, то можно сказать
что компьютеры в нашем институте сделаны
из дуба.
МИНИСТЕРСТВО
ОБЩЕГО И ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
РОССИЙСКОЙ ФЕДЕРАЦИИ.
МОСКОВСКИЙ
ГОСУДАРСТВЕННЫЙ АВИАЦИОННО-ТЕХНОЛОГИЧЕСКИЙ
УНИВЕРСИТЕТ
им.
К.Э. ЦИОЛКОВКОГО
КАФЕДРА
ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ
Лаботраторные
работы второго курса второго семестра.
Руководитель:
Чернадский
Дата
сдачи: _____________
Подпись:
_____________
Студент:
Лицентов Д.Б.
Группа:
3ИТ-2-26
Москва
1998
Лабораторная
работа номер 1
Задание:
вывести значение функции sinh(x)/sin(x) и её
производно на интервале от А до Б в
десяти точках. Значения производной
функции должно считаться двумя способами:
первое прямым вычислением и второе в
помощью рядов. Значение производной
функции должно считаться до машинного
нуля.
Текст
программы.
#include
#include
double
function(double x)
{
return sinh(x)/sin(x);}
double
dir(double x)
{
return
(cosh(x)*sin(x)-cos(x)*sinh(x))/(sin(x)*sin(x));
}
double
*derives( double (*f) (double),//функция
double
*x,//массив значений иксов
double
k, //кол-во точек на интервале в которос
берется производная
double
*D,//массив дельта
double
a,//граница отрезка
double
b)//граница отрезка
{
x = new double [10];
D
= new double [10];
double
*pr = new double[10];
double
s = 0;
for
(int i=0;i<10>
{
x[i] =s+a;
s = (b-a)/k;
a+=s;
double d = s;//дельта
int m = 0;
double d_pred,f_pred,f0=0;
do
{
d
= d /2;
f_pred
= f0;
f0
= (-f(x[i])+f(x[i]+d))/(d);
m++;
}
while (((f0!=f_pred)&&(m<=100)));//вычисляем до
машинного нуля
D[i]=d_pred;//массив значений дельта
pr[i]=f_pred;//значения производной
cout
<< "\n x[" << i <<"] " <<
x[i] << "\t" <
<
cout << "\t"<< m;
}
return
pr;
}
void
main(void)
{
double a , b , *x , *D, (*f)(double)=function,*result;
int
i ;
do
{
i=0;
cout
<< "Input a:";
cin
>> a;
cout
<< "Input b:";
cin
>> b;
if
(a>b)
{cout <<"Input a
i=1;}
}
while
(i==1);
result
= derives(function,x,10,D,a,b);}
Результаты
работы.
Input
a:1
Input
b:5
x[0]
1 0.93704 0.937041 3.9346e-311
33
x[1]
1.8 3.895777 3.895777
3.9346e-311 53
x[2]
2.12 7.899375 7.899994
3.9346e-311 39
x[3]
2.408 17.496182 17.496226 3.9346e-311
33
x[4]
2.6672 46.255806 46.383292 3.9346e-311
43
x[5]
2.90048 203.810226 192.558503 3.9346e-311
47
x[6]
3.110432 11886.359648 11886.359648 3.9346e-311 51
x[7]
3.299389 454.965295 454.757697 3.9346e-311
43
x[8]
3.46945 96.558946 96.562709 3.9346e-311
36
x[9]
3.622505 36.997996 36.99798 3.9346e-311
32
Сперва
прога просит ввести интервал. Далее
вывоти плоды своей работы:
первый
столбик –номер эксперимента
второй
столбук - значение финкйии
третий
столбик значение которое получается
«напрямую»
четвёртый
столбик - значение которое получается
вычислением с помощью рядов
пятый
столбик – машинный ноль
шестой
столбик - количество итераций которое
было необходимо для вычисления
производной функции до машинного нуля.
Лабороторная
работа №2
Задание:
написать программу которая просит
ввести строку, нарезает эту строку на
подстроки и выводит их в обратном
порядке.
Текст
программы.
#include
#include
#include
class
stroka
{
char
*ch;
int
len;
friend int operator == (stroka & a , stroka & b);
friend stroka* Friend0(stroka c);
friend istream& operator >>(istream & in, stroka &
a );
friend ostream& operator <<(ostream & out, stroka &
a );
public
:
stroka(int
N=80)
{ch = new char [N];
ch[0]='\0';
}
stroka
(const char *s)
{
int
j=0;
while (ch[j++]);
ch
= new char[len];
ch[len]
= '\0';
len--;
for
(int i=0;i
ch[i]=
s[i];
}
void
string1(void)
{
int j=0;
while (ch[j++]);
len = j-1;
}
~stroka
(){delete [] ch ;}
}
;
void
main()
{
stroka s0,*s1;
cin >> s0;
s0.string1();
cout <<"\n"<<*Friend0(s0);
}
stroka*
Friend0(stroka c)
{
stroka
*GodDame_Mother_F_1;
stroka
*GodDame_Mother_F_2;
stroka
*GodDame_Mother_F_;
GodDame_Mother_F_1
= new stroka[c.len];
GodDame_Mother_F_2
= new stroka[c.len];
GodDame_Mother_F_
= new stroka[c.len];
int
i=0,j=0,k=-1,h=0,g=0,f=0;
for(i=0;i<=c.len;i++){
if(((c.ch[i]=='
'||c.ch[i]=='.')&&((c.ch[i+1]!=' ')||(c.ch[i-1]!='
')))){
//cout<
k++;
//j=0;
g=0;
for(k;k
if(c.ch[k]!='
'){
//cout<
GodDame_Mother_F_1[0].ch[j++]=c.ch[k];
GodDame_Mother_F_2[0].ch[g++]=c.ch[k];
}
}
h++;
//for(f=0;f
//cout<<'\n';
int
s,s1;
for(int
d=i;d
s1=0;
for(f=0;f
s=0;
if(GodDame_Mother_F_2[0].ch[f]!=c.ch[d+f]){
//cout<<"I
won!!!!!";
s=1;
}
if(s!=0){s1=1;}
}
if(s1==0&&GodDame_Mother_F_2[0].ch[f+1]=='
'){
cout<<"I
won!!!!!";
for(int
a=0;a
}
}
}
}
return
GodDame_Mother_F_;
}
int
operator == (stroka & a,stroka & b)
{
int k=0;
a.string1();
b.string1();
if
(a.len!=b.len) k--;
else
for (int i=0;i
if (a.ch[i]!=b.ch[i]) {k--;break;}
return
k;
}
istream
&operator >>(istream &in,stroka & A)
{
cout <<"\n\tInput string : ";
in.getline(A.ch,80,'\n');
return
in;
}
ostream
&operator <<(ostream &out,stroka & A)
{
out << A.ch;
return
out;
}
Результат
работы.
Input
string : demon13
13
mon de
Лабораторная
работа №3
Написать
программу с наследованием классов и
виртуальными функциями.
Текст
программы.
#include
class
complex
{
public :
double x,y;
virtual
void fun (int x=0, int y=0)=0;
};
class
What_the_hell_we_got: public complex
{
public :
void
fun (int x, int y)
{cout<<"\n
What_the_hell_we_got "<< x<<"\t"<
};
class
Plusssssss: public complex
{
public :
void
fun (int x=0, int y=0)
{cout<<"\n
Plusssssss\tx+y ="<< x+y;}
};
class
Umnojinia : public What_the_hell_we_got
{public
:
void
fun (int x)
{cout<<"\n
Umnojinia\tx*x ="<< x*x;}
};
class
xz : public Plusssssss , public Umnojinia
{public
:
void
fun (int x)
{cout<<"\n
Xzubla\t\tx^3 ="<< x*x*x;}
};
void
main (void)
{ What_the_hell_we_got
D, *pcom1 = &D;
Plusssssss
C2, *pc2 = &C2;
int
k,x;
cin>>x>>k;
pcom1
-> fun(k,x);
pc2
-> fun (k,x);
Umnojinia
C3, *pc3 = & C3;
pc3
-> fun (x);
pcom1=pc3;
pcom1->fun(k,x);
xz
C4, *pc4 = & C4;
pc4
-> fun (x);
}
Результаты
работы
3
4
What_the_hell_we_got
4 3
Plusssssss
x+y =7
Umnojinia
x*x =9
What_the_hell_we_got
4 3
Xzubla
x^3 =27
Вводим
два числа и смотрим что получится при
сложение умножении или возведение в
третью степень.