Ні Так
Рисунок 2.1 Блок-схема алгоритму до програми Proga5.срр
2.6 Виведення заданого рядка без “А” або “а”
Програма Proga6.срр призначена для виведення заданого рядка, який закінчується “@”, без літер “а” або “А”
Вхідні дані: символьний масив STRING (тип char)
Вихідні дані: заданий рядок без літер “а” або “А”
Блок-схема до програми Proga6.срр представлена на рисунку 2.2
#include<iostream.h> //Підключаємо бібліотеки iostream.h
#include<math.h> //та math.h
void main() //Оголошуємо головну функцію main()
{
int W,N; //Оголошуємо перемінні W,N цілого типу,
char STRING[100]={0}; //масив STRING
char STRING1[100]={0}; //та STRING1 символьного типу,
char i; //перемінну і символьного типу
cout<<"Введіть ваш рядок \n"; // Даємо запрос на введення рядка
cout<<"В кінці введіть @:"; //в кінці рядка поставимо “@”
cin>>STRING; //Вводимо рядок
if (STRING[0]=='@') //Умова: якщо на початку рядка стоїть “@”,
{
cout<<"Цей рядок не має символів"<<"\n"; //програма виводить
goto t; //повідомлення і починає працювати після мітки “t”
}
N=0; //Перемінній N присвоюємо значення 0
for (i=0;STRING[i]+='\0';i++) //Задаємо цикл для проходження значень
{ //параметра і від 0 до символа кінця рядку
if (STRING[i]!='@') //Умова: якщо і-ий елемент масива=”@”
{
STRING1[i]=STRING[i]; //Нічого не відбувається
N=N+1; //Перемінній N присвоюємо її значення додаючи 1
}
else goto p; //В іншому разі – програма виходить з циклу
}
p:;
cout<<"\n"; //Переводимо курсор на наступний рядок
cout<<"Відповідь: "; //Виводимо оголошення про відповідь
for(i=0;i<=N-1;i++) // Задаємо цикл для проходження значень
cout<<"\n"; //Переводимо курсор на наступний рядок
t:; //Мітка t
cout<<"\n"<<"Для виходу введіть EXIT:"<<"\n"; //Даємо запит
cin>>W; //Вводимо зайву перемінну W для затримки екрану
} //Кінець функції main()
Ні Так
Так Ні
Ні Так
Рисунок 2.2 Блок-схема алгоритму до програми Proga6.срр
2.7 Визначення суми добутків
Програма Proga7.срр призначена для знаходження добутку суми добутків
,
якщо задане натуральне число N
Вхідні дані: параметр N (тип int)
Вихідні дані: сума добутків рядка S (тип double)
#include<iostream.h> //Підключаємо бібліотеки iostream.h
#include<math.h> //та math.h
int fact(int h, int f) //Оголошуємо функцию fact,яка по заданому
{ // параметру h та кінцевому значенню f
// знаходить факторіал цього числа
int result=1;
for (h=1;h==f;h++)
result*=h;
return result*=h;
}
void main() //Оголошуємо головну функцію main()
{
int i,j,N,W; //Оголошуємо перемінні i,j,N,W цілого типу
double S,S1,P; //та перемінні х та S типу double
cout<<"Введіть N:"<<"\n"<<"N="; //Даємо запрос на введення числа N
cin>>N; //Вводимо N
S1=0; //Обнулюємо початкове значення суми S1
P=1; //Добутку P присвоюємо початкове значення 1
for(i=1;i<=N;i++) // Задаємо цикл для проходження значень
{ //параметра і від 1 до N, кроком 1
for(j=1;j<=i;j++) // Задаємо цикл для проходження значень
{ //параметра j від 1 до i, кроком 1
P=fact(j,i)/fact(i,N); //Знаходимо значення Р
S1+=P; //До значення перемінної S1 додаємо значення Р
} //Кінець циклу
}
S=S1; //Перемінній S присвоюємо кінцеве значення перемінної S1
cout<<"Відповідь: S="<<S<<"\n"; //Виводимо відповідь
cout<<"Для виходу введіть EXIT:"<<"\n"; //Даємо запит
cin>>W; //Вводимо зайву перемінну W для затримки екрану
} //Кінець функції main()
2.8 Знаходження числа
Програма Proga8.срр призначена для знаходження такого числа аi, що |аi - ai-1 |< е, якщо послідовність задана по правилу аi = 1 / і, та дано число 0 < е < 0.1 типу double
Вхідні дані: параметр е (тип double)
Вихідні дані: сума рядка S (тип double)
#include<iostream.h> //Підключаємо бібліотеку iostream.h
void main() //Оголошуємо головну функцію main()
{
int i; //Оголошуємо перемінну і цілого типу
double e,W; //та перемінні e,W типу double,
double r[100]={0}; //масив r типу double
cout<<"Введіть 0<e<0.1"<<"\n"; //Даємо запрос на введення числа “e”
cin>>e; //Вводимо “e”
for (i=0;i<=100;i++) //Задаємо цикл для проходження значень
{ //параметра i від 0 до 100, кроком 1
r[i]=(1/(i+1)); //і-й елемент масива =(1/і+1)
if((r[i]-r[i-1])<=e) //Умова: е, яке більше або =(r[i]-r[i-1])
goto p; // програма виходить з циклу по мітці “р”
} //Кінець циклу
p:; //Мітка “р:”
cout<<”Відповідь:е=”<<r[i]<<"\n"; //Виводимо відповідь
cout<<"\n"<<"Для виходу введіть EXIT:"<<"\n"; //Даємо запит
cin>>W; //Вводимо зайву перемінну W для затримки екрану
} //Кінець функції main()
2.9 Знаходження суми рядка
Програма Proga9.срр призначена для знаходження суми рядка
якщо задане натуральне число N та М (N>M)
Вхідні дані: параметр М (тип int) параметр N (тип int)
Вихідні дані: сума рядка S (тип double)
#include<iostream.h> //Підключаємо бібліотеки iostream.h
#include<math.h> //та math.h
int fact(int i, int f) //Оголошуємо функцию fact,яка по заданому
{ // параметру i та кінцевому значенню f
// знаходить факторіал цього числа
int result=1;
for (i=1;i<=f;i++)
result*=i;
return result;
}
void main() //Оголошуємо головну функцію main()
{
int N,M,W; //Оголошуємо перемінну і цілого типу
double S; //та перемінну S типу double
cout<<"Введіть N i M; (N>M)"<<"\n";//Даємо запрос на введення чисел
//N та M при умові (N>M)
p: //Мітка р:
cout<<"N="; //Запрос на введення N
cin>>N; //Вводимо N
cout<<"M="; //Запрос на введення М
cin>>M; //Вводимо М
if(M>N) //При умові М>N
{
cout<<"ERROR: Введіть N>M"<<"\n";//буде виведено повідомлення
goto p; //Перехід до мітки р:
}
S=0; //Обнулюємо початкове значення суми S
for(M;M<=N;M++) //Задаємо цикл для проходження значень
//параметра M від свого значення до N, кроком 1
S+=(M*M*log(fact(M,N))); //Знаходимо суму
cout<<"Відповідь: S="<<S<<"\n"; //Ввиводимо відповідь
cout<<"\n"<<"Для виходу введіть EXIT:"<<"\n"; //Даємо запит
cin>>W; //Вводимо зайву перемінну W для затримки екрану
} //Кінець функції main()
2.10 Виведення заданого рядка до першого знаку “
Програма Proga10.срр призначена для виведення заданого рядка, який закінчується “@”, до першого знаку “:”
Вхідні дані: символьний масив STRING (тип char)
Вихідні дані: заданий рядок до першого знаку “:”
#include<iostream.h> //Підключаємо бібліотеки iostream.h
#include<math.h> //та math.h
void main() //Оголошуємо головну функцію main()
{
int W,N; //Оголошуємо перемінні W,N цілого типу,
char STRING[100]={0}; //масив STRING
char STRING1[100]={0}; //та STRING1 символьного типу,
char i; //перемінну і символьного типу
cout<<"Введіть ваш рядок \n"; //Даємо запрос на введення рядка
cout<<"В кінці введіть @:"; //в кінці рядка поставимо “@”
cin>>STRING; //Вводимо рядок
if ((STRING[0]=='@')||(STRING[0]==':')) //Умова: якщо на початку
{ // рядка стоїть “@”,або “:”,програма
cout<<"Цей рядок не містить символів"<<"\n"; //виводить goto t; //повідомлення і починає працювати після мітки “t”
}
N=0; //Перемінній N присвоюємо значення 0
for (i=0;STRING[i]+='\0';i++) //Задаємо цикл для проходження значень
{ //параметра і від 0 до символа кінця рядку
if (STRING[i]!='@') //Умова: якщо і-ий елемент масива=”@”
{
STRING1[i]=STRING[i]; //Нічого не відбувається
N=N+1; //Перемінній N присвоюємо її значення додаючи 1
}
else goto p; //В іншому разі – програма виходить з циклу
}
p:;//Мітка р:
cout<<"\n";//Переводимо курсор на наступний рядок
cout<<"Відповідь: ";//Ввиводимо оголошення про відповідь
for(i=0;i<=N-1;i++) // Задаємо цикл для проходження значень
{ //параметра і від 0 до символа кінця рядку
if (STRING1[i]!=':')//Умова: якщо і-ий елемент масива не=”:”
cout<<STRING1[i];//виводимо його
else goto t; //в іншому випадку програма виходить з циклу
}
cout<<"\n"; //Переводимо курсор на наступний рядок
t:; //Мітка t:
cout<<"\n"<<"Для виходу введіть EXIT:"<<"\n"; //Даємо запит
cin>>W; //Вводимо зайву перемінну W для затримки екрану
} //Кінець функції main()
2.11 Виведення дня народження
Програма Proga11.срр призначена для розрахунку дуже щасливого, щасливого або звичайного дня народження по введеному року, місяцю та дню народження користувача
Вхідні дані: масиви цілих чисел GODROJD,MASROJD,DENROJD
параметри Sgod,Smes,Sden (тип int)
Вихідні дані: дуже щасливий, просто щасливий або звичайний день народження користувача
#include<iostream.h>> //Підключаємо бібліотеки iostream.h
#include<math.h> //та math.h
main() //Оголошуємо головну функцію main()
{
int G,M,D,i,j,k,W; //Оголошуємо перемінні G,M,D,i,j,k,W,
int Sgod,Smes,Sden; //Sgod,Smes,Sden цілого типу
int GODROJD [4]; //масив GODROJD,
int MESROJD [2]; //масив MESROJD,
int DENROJD [2]; //масив DENROJD цілого типу
p:; //мітка Р:
cout<<"Введіть ваш рік народження через ENTER:"<<"\n"; //запрос
for (i=0;i<=3;i++) //Задаємо цикл для проходження значень
{ //параметра і від 0 до 3
cout<<"Рік:";
cin>>GODROJD[i]; //Вводимо кожен раз по одній цифрі року народж.
}
//Умова: якщо буде введений 2004 рік і більше,
if((GODROJD[0]>=2)&&(GODROJD[1]>=0)&&(GODROJD[2]>=0)&&(GODROJD[3]>=4))
{
cout<<" Ми ще не дожили до цього часу!"<<"\n"; //програма
goto p; //виведе повідомлення і перейде до мітки р:
}
r:; //мітка r:
cout<<"Введіть номер вашого місяця народження через ENTER:"<<"\n";