- •Int main()
- •Int main()
- •Int main()
- •Int main()
- •Int main()
- •Int main()
- •Int main()
- •Int main()
- •Int main()
- •Int main()
- •Int main()
- •Int main()
- •Int main()
- •Int main()
- •Int main()
- •Int main() //головна функція
- •Int main()
- •Int main() //головна функція
- •Int main()
- •Int main()
- •Int main()
- •Int main() //головна функція
- •Int main()
- •Int main()
- •Int main() //головна функція
- •Int main()
- •Int main()
- •Int main ()
- •Int main()
- •Int main ()
- •Int main()
- •Int main ()
- •Int main()
- •Int main()
- •Int main ()
- •Int main ()
- •Int main ()
- •Int main ()
- •Int main ()
- •Int main ()
- •Int main()
- •Int main()
- •Int main()
- •Int main()
- •Int main()
- •Void main()
- •Int main()
- •Int main()
- •Int main()
- •Int main()
- •Int main()
- •Int main()
- •Void main()
- •Int main()
- •Int main()
- •Int main()
- •Int main()
- •Int main()
- •Int main()
- •Int main()
- •Int main()
- •Int main()
Int main()
{
Init();
Move(n,'1','2','3'); //виклик рекурсивної функції
system("pause");
}
Приклад 4.11
/* Індійський алгоритм піднесення до степеня */
#include <iostream>
#include <math.h>
using namespace std;
int base,exponent; //число, показник степеня
void Init() //введення даних
{
cout<<"Indian algorithm"<<endl;
cout<<"Enter integer base and exponent"<<endl;
cin>>base>>exponent;
}
//========================= піднесення до степеня ==========================
long power(int x, int n)
{
int t; float step=2; //допоміжна змінна
if(n==0) return 1;
else if(n==1) return x; //рекурсивне повернення
else
{
t=pow(power(x,n/2),step); //рекурсивне занурення
if (n%2!=0) return t*x; //рекурсивне повернення
else return t; //рекурсивне повернення
}
}
//============================ головна функція ==============================
Int main()
{
Init();
cout<<base<<"^"<<exponent<<"="<<power(base,exponent)<<endl;
system("pause");
}
Приклад 5.4
/* void покажчики */
#include <iostream>
#include <stdio.h>
using namespace std;
//=============================== виведення значень, що введені ================================
void output(void* ptr, int flag)
{ //параметри: ptr-покажчик на дані будь-якого типу, switch(flag)
//flag-ознака заданого типу даних
switch(flag) //аналізувати ознаку введеного типу
{
case 1: //вивести рядок
printf("entered string: %s \n",(char*)ptr); break;
case 2: //вивести ціле число
cout<<"entered integer: "<<*(int*)ptr<<" to the address "<<(int*)ptr<<endl; break;
case 3: //вивести дійсне число
cout<<"entered float: "<<*(float*)ptr<<" to the addres "<<(float*)ptr<<endl; break;
}
}
Int main() //головна функція
{
int* iрtr,ivar; //покажчик і змінна цілого типу
float* fрtr,fvar; //покажчик і змінна дійсного типу
char* срtr,cvar[20]; //покажчик і змінна рядкового типу
int tag; //ознака заданого типу даних
cout<<"using void* "<<endl;
do //вивести запит на вибір типу
{
cout<<"select data type: 1-char, 2-int, 3-float, 4-exit \n";
cin>>tag; //задати тип даних
fflush(stdin); //очистити вхідний nотік
switch(tag) //аналізувати ознаку введеного типу
{
case 1: //блок обробки рядка символів
cout<<"input string: ";
срtr=cvar; //ініціалізувати покажчик на рядок
gets(срtr); //ввести рядок
output(срtr, tag); //функція виведення рядка
break;
case 2: //блок обробки даних цілого типу
cout<<"input integer: ";
iрtr=&ivar; //ініціалізувати покажчик на цілий тиn
cin>>*iрtr; //ввести ціле число
output(iрtr,tag);
break;
case 3: //блок обробки даних дійсного типу
cout<<"input float: ";
fрtr=&fvar; //ініціалізувати покажчик на дійсний тиn
cin>>*fрtr; //ввести дійсне число
output(fрtr,tag);
break;
}
}
while(tag!=4);
system("pause");
}
Приклад 5.5
/* Покажчики на функцію. Табулювання довільних функцій */
#include <iostream>
#include <iomanip>
#include <math.h>
using namespace std;
float lower,upper,step;
float (*func) (float);
//============================= поліном ============================
float Polynom(float x)
{
return x*x*x-x+1;
}
//=========================== степенева функція =====================
float Exponent(float x)
{
return exp(x-3);
}
//============== табулювання функції за покажчиком func ===============
void Print(float a, float b, float h, float (*func) (float), char s[])
{
float x;
cout<<"======================="<<endl;
cout<<" x | "<<s<<endl;
cout<<"======================="<<endl;
x=a;
while (x<b)
{
cout<<setw(6)<<x<<"|";
cout<<setw(10)<<(*func) (x)<<endl;
x+=h;
}
}
//========================= основна програма ===========================
