МІНІСТЕРСТВО ОСВІТИ ТА НАУКИ УКРАЇНИ
ДОНБАСЬКА ДЕРЖАВНА МАШИНОБУДІВНААКАДЕМІЯ
КАФЕДРА АВТОМАТИЗАЦІЇ ВИРОБНИЧИХПРОЦЕСІВ
Звіт про практику
Краматорськ 2003
ЗМІСТ
1. Локальнаобчислювальна мережа кафедри АВП
2. Індивідуальнезавдання
2.1 Визначеннясуми рядка
2.2 Визначеннядобуткумножників
2.3 Визначеннядобуткумножників
2.4 Визначеннядобуткурядка
2.5 Визначеннясумирядка
2.6 Виведеннязаданого рядка без “А” або “а”
2.7 Визначеннясумидобутків
2.8 Знаходженнячисла
2.9 Знаходженнясуми рядка
2.10 Виведеннязаданого рядка до першого знаку “
2.11 Виведеннядня народження
2.12 Знаходженнякількості слів “no”
2.13 Знаходженняточки перетину двох прямих
2.14 Знаходженняпевних тризначних чисел
2.15 Знаходженняпевного тризначного числа
2.16 Вивідквадратної матриці М
2.17 Вивідматриці В(М;N)
2.18 Знаходженнянайбільшого з від’ємних чиселматриці
2.19 Знаходженнянайбільшого значення напруги в електромережі
2.20 Знаходженняпершого члену послідовності
2.21 Видаленняпробілів з рядка
2.22 Знаходженнякількості вказаних символів
2.23 Зміненняматриці певним чином
2.24 Знаходженнясуми j-тогорядка
2.25 Знаходженнякількості цифр в числі та їх суми
2.26 Знаходженняномера селища
2.27 Перевідчисла до різних систем счислення
2.27.1Заголовний модуль stdafx.cpp
2.27.2Заголовний модуль stdafx.р
2.27.3Заголовний модуль resource.h
2.27.4Заголовний модуль Proga27_01Dlg.h
2.27.5 Заголовниймодуль Proga27_01Dlg.cpp
2.27.6Заголовний модуль Proga27_01.h
2.27.7Заголовний модуль Proga27_01.cpp
2.28 Знаходженняраціональної кількості предметів
2.29 Знаходженнячетвірок простих чисел
2.30 Обчисленнячисла Фібоначі
2.31 Видалення зрядку певних символів
2.32 Сума двохрядків
2.33 Редагуваннятексту
2.34 Копіюванняодного рядка в інший
Перелік посилань
1. Локальна обчислювальна мережа кафедри АВП
Локальна обчислювальна мережа (ЛВС)кафедри АВП служить для організації навчального процесу по 42 навчальнихдисциплінах, у тому числі для виконання лабораторних і практичних занять,курсового і дипломного проектування, проведення ознайомлювальної практики.
ЛВС розгорнута ваудиторіях 2105, 2112 другого корпуса ДДМА та складається з файлового сервера,що виконує функції основного контролера домена, та 24 робочих станцій. Яксередовище передачі сигналів використовується тонкий коаксіальний кабель зтемпом передачі інформації 100 Мбіт/с по протоколу TCP/IP.
Апаратне забезпеченняявляє собою IBM-сумісні компьютери наступних конфігурацій.
Сервер — Атх-платформа набазі процесора Celeron 1100 Мгц, ОЗП 256 Мбайт, відеопам'ять 32 Мбайт, дважорстких диски 40 Гбайт зі швидкістю обертання шпинделя 7200 об/хв, привідCD-ROM 48x, один привід гнучких дисків, 15" монітор SVGA-типу.
Робочі станціїпредставлені наступними типами комп'ютерів.
Перший тип — Атх-платформа на базі процесора Celeron 1100 Мгц, ОЗП 256 Мбайт, відеопам'ять32 Мбайт, один жорсткий диск 40 Гбайт зі швидкістю обертання шпинделя 7200об/хв чи 20 Гбайт зі швидкістю обертання 5400 об/хв, 15" монітор SVGA-типу.
Другий тип — Ат-платформана базі процесора AMD Кб 266 Мгц, ОЗП 32 Мбайт, один жорсткий диск 2 Гбайт зішвидкістю обертання шпинделя 3600 об/хв, відеопам'ять 1 Мбайт, 14" моніторSVGA-типу.
Для керування роботоюкористувачів у мережі використовуються операційні системи (ОС) Windows наступних типів. На сервері встановлена ОСWindows NT 4.0 Server, на робочих станціях — Windows NT 4.0 Workstation чиWindows 2000 Professional.
Керування робочимсередовищем користувачів забезпечує адміністрація домена шляхом веденнявідповідної системної політики. Користувачі домена розбиті на групи по курсам,кожен користувач має власний обліковий запис і робочий каталог для збереженняособистої інформації обсягом не більш 10 Мбайт. База даних обліковихкористувачів нараховує більш 500 записів. Робочі каталоги зберігаються врозділі User жорсткого диска сервера, обсяг розділа 2 Гбайт. Доступ до робочогокаталогу заблокований для всіх користувачів, за винятком його власника йадміністратора.
На кожній робочій станціївстановлене наступне прикладне програмне забезпечення.
Microsoft Office 2000 — для підготовки текстових документів за допомогою текстового процесора Word.
Matlab — системаінженерних і наукових розрахунків з можливістю візуального моделювання.
Electronic Workbench 5.12- система моделювання електронних схем.
AutoCad 2000 — системаавтоматизації конструкторських робіт.
PCAD 2000 — системаконструювання друкованих плат. Для виконання лабораторних робітвикористовується версія PCAD 4.5.
Microsoft Visual Studio6.0 — інтегроване середовище для швидкої розробки додатків на базі мов VisualC++ 6.0 і Visual Basic 6.0.
MathCAD — системаавтоматизації проектування науково-технічних задач.
Компас — системаавтоматизації підготовки керуючих програм для верстатів з числовим програмнимкеруванням (ЧПК);
Крім того, на окремихробочих станціях встановлені:
Rational Rose 2000 — засіб об’єктно-орієнтованого аналізу і проектування технічних, переважнопрограмних, систем на базі нотації UML (Unified Model Language — уніфікованої мовимоделювання) з можливістю генерації вихідного коду мовою Visual Basic 6.0.
BPWin і Erwin — засоби, що дозволяють автоматизувати етапирозробки програмного забезпечення, інструменти CASE (Computer-AidedSoftware/System Engineering).
Visio 5 — двовимірнаграфічна САПР для підготовки науково-технічних документів — схем, алгоритмів,карт і т.п., сумісна з текстовим процесором Word.
PROMT 2000 — автоматичнийпереклад науково-технічних текстів з англійської, німецької йін. мов, переважно по тематиці, зв'язаної з обчислювальною технікою іпрограмуванням.
Передбачається встановлювання пакета Microsoft Visual Studio .NET7, призначеного для розробки мобільних і переносних продуктів за допомогою мов програмування С# (Си шарп) і Visual Basic .Net
Інформаційне забезпеченнянавчального процесу підтримується Web-сервером кафедри на базі програмногопродукту IIS (Internet Information Server) фірми Microsoft. Для читаннядокументів використовується броузер Internet Explorer 5.0. У розділі Homeобсягом 8 Гбайт розташовується стартова сторінка, за допомогою якої можливиймережний доступ до документації по профілях спеціальності АВП. Є каталоги фірм-виробників апаратногозабезпечення таких, як Intel, Analog Devices, Maxim, Siemens і ін. із загальнимчислом одиниць збереження понад 12 тисяч, база знань MSDN фірми Microsoftобсягом порядку 1,3 Гбайт, що містить кілька десятків річних комплектівжурналів з обчислювальної техніки та програмування, окремі книги ідовідкова документація по програмних продуктах фірми. Широко представленанауково-технічна тематика російською мовою — статті з журналів, книги,методичні і навчальні видання, у тому числі виконані викладачами кафедри.Організовано рубрики, присвячені нейронним мережам, Internet-програмуванню, програмуванню на мовах Си і VisualBasic і ін. перспективним напрямкам. Для публікації документів уIntranet-мережі кафедри встановлені пакети Adobe Reader (для документів уpdf-форматі), HomeSite 4.5 (у форматі гіпертексту). Net Studio 2000 (дляграфічного дизайну Web-сторінок).
Встановлене програмне забезпечення даєможливість проводити лабораторні заняття в режимі відеоконференції звикористанням дошки на екрані дисплея. Крім того,проводиться підготовка до перекладу класів у режим дистанційного навчання, приякому контакт студента і викладача буде розділятися у просторі та часі, з веденням обліку використання машинногочасу і проведенням тестування по окремих темах і в цілому по окремихдисциплінах кафедри АВП.
Длявиконання програми ознайомлювальної практики студентами першого курсу наWeb-сервері оприлюдненапрограма практики з варіантами індивідуальних завдань; виконання завданьпередбачає самостійне вивчення основ програмування мовою Си++з використанням програмного продукту Pacific З Compiler, що забезпечуєгенерацію машинного коду для мікроконтролерів серії MCS 51.
2ІНДИВІДУАЛЬНЕ ЗАВДАННЯ
2.1 Визначення суми рядка
ПрограмаProga1.срр призначена для знаходженнясуми рядка
/>
позаданим параметрам Xта N:
Вхіднідані: параметр Х (тип double)
параметрN (тип int)
Вихіднідані: сума рядка S(тип double)
#include//Підключаємо бібліотеки iostream.hта
#include// math.h
int fact(inth, intf) //Оголошуємо функцию fact, якапо заданому
{// параметру hта кінцевому значенню fint result=1;// знаходить факторіал цього числа
for (h=1;h==f;h++)
return result*=h;
}
void main() //Оголошуємоголовну функцію main()
{
int N,i,W; //Оголошуємоперемінні N,і,Wцілоготипу
double х,S;//та перемінні х та Sтипу double
cout
cout
cin>>x;//Вводимо Х
cout
cin>>N;//ВводимоN
S=0; //Обнулюємопочаткове значення суми S
for (i=1;i
//паматраі від 1 до значення N
S=S+((pow(-1,(i+1))*pow(x,2*i)/fact(i,N)));//Знаходимо S
cout
cout
cin>>W;//Вводимо зайву перемінну Wдля затримки екрану
}//Кінець функції main()
2.2 Визначення добутку множників
ПрограмаProga2.срр призначена для знаходженнядобутку перших Nмножників l/2*3/4*5/6*… .,якщо задане натуральне число N
Вхіднідані: параметр N(типint)
Вихіднідані: добуток множників P(тип double)
#include//Підключаємо бібліотеку iostream.h
void main() //Оголошуємо головну функцію main()
{
int N,W;//Оголошуємо перемінні Nта W цілого типу
double i,P=1;//та перемінні і та Р типу double,
//добуткуР задаємо початкове значення 1
cout
r:; //Ставимомітку r
cout
cin>>N;//Вводимо N
if (N==0)//Задаємоумову: при N=0 програма
{//виводить помилку та пропонує ввести
cout
goto r;//і відбувається перехід до мітки r
}
else if(N==1) //при N=1програма видає відповідь 0.5,
{
cout
}
else //ЯкщоN недорівнює ні 0, ні 1,
{
i=2; //задаємозначення параметра і=2
do
{
Р*=(((2*i)-1)/i);//Задаємо розрахункову формулу
i+=2; //знаходженняР та зміну параметра і на 2
}
while (i!=(2*N));//Програма буде виконуватися доки і не
//станедорівнювати значенню 2*N.
cout
}
cout
cin>>W;//Вводимо зайву перемінну Wдля затримки екрану
}//Кінець функції main()
2.3 Визначення добутку множників
ПрограмаProga3.срр призначена для знаходженнядобутку суми одного рядка на добуток іншого />,якщо задане натуральне число N
Вхіднідані: параметр N(типint)
Вихіднідані: добуток множників S(тип double)
#include//Підключаємо бібліотеки iostream.h
#include //та math.h
voidmain() //Оголошуємо головну функцію main()
{
intN,k,m,W; //Оголошуємо перемінні N,k,m,Wцілого типу
doubleS1,P1,S; //таперемінні S1,P1 таS типу double
cout
cin>>N;//Вводимо N
S1=0;//Обнулюємо початкове значення суми S1
for(k=1;k
{//параметра k від 1 дозначення N
S1+=pow(-1,k+1);//Знаходимо S1
}
N=k;//Перемінній N присвоюємозначення перемінної k
P1=1;//Добутку P1присвоюємо початкове значення 1
for(m=1;m
//параметра m від 1 дозначення 2*k
P1=P1*cos((m+1)/2*k);//Знаходимо Р1
S=S1*P1;//Перемінній S присвоюємодобуток перемінних S1та P1
cout
cout
cin>>W;//Вводимо зайву перемінну Wдля затримки екрану
}//Кінець функції main()
2.4 Визначення добутку рядка
ПрограмаProga4.срр призначена для знаходженнядобутку рядка
/>,
якщозадане натуральне число N
Вхіднідані: параметр N(типint)
Вихіднідані: добуток рядка P(тип double)
#include//Підключаємо бібліотеки iostream.h
#include //та math.h
voidmain() //Оголошуємо головну функцію main()
{
intN,i,W; //Оголошуємо перемінні N,і,Wцілого типу
doubleP; //таперемінну P типуdouble
cout
cout
cin>>N;//Вводимо N
P=1;//Добутку P присвоюємопочаткове значення 1
for(i=1;i
//параметраі від 1 до значення N
P=P*(1+1/sqrt(sqrt(i)));//Знаходимо Р
cout
cout
cin>>W;//Вводимо зайву перемінну Wдля затримки екрану
}//Кінець функції main()
2.5 Визначення суми рядка
ПрограмаProga5.срр призначена для знаходженнясуми рядка
/>,
где/>,якщо задане натуральне число N
Вхіднідані: параметр N(тип int)
Вихіднідані: сума рядка S(тип double)
Блок-схемадо програми Proga5.сррпредставлена на рисунку 2.1
#include//Підключаємо бібліотеки iostream.h
#include//та math.h
voidmain() //Оголошуємо головну функцію main()
{
intN,i,a,d,W; //Оголошуємо перемінні N,і, а,d,Wцілого типу
doubleS; //таперемінну S типуdouble
cout
cin>>N;//Вводимо N
S=0;//Обнулюємо початкове значення суми S
for(i=1;i
{// параметра і від 1 до значення N
d=i%3;//d присвоюємо залишкоквід ділення перемінної на 3
if(d==0)a=i/3; //При умові d=0перемінній “а” присвоюємо і/3
elsea=i/(i-3); //Інакше — паремінній а присвоюємо і/(і-3)
S+=a*a;//В кінці всього циклу до суми Sдодаємо (а*а)
}
cout
cout
cin>>W;//Вводимо зайву перемінну Wдля затримки екрану
}//Кінець функції main()
/> /> /> /> /> /> /> /> /> /> /> /> /> /> />
S=0; /> /> />
/>/>/>/> Ні Так/> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> />
Рисунок2.1 Блок-схема алгоритму до програми Proga5.срр
2.6 Виведеннязаданого рядка без “А” або “а”
ПрограмаProga6.сррпризначена для виведення заданого рядка, якийзакінчується “@”, без літер “а” або“А”
Вхіднідані: символьний масив STRING (тип char)
Вихіднідані: заданий рядок без літер “а” або “А”
Блок-схемадо програми Proga6.сррпредставлена на рисунку 2.2
#include//Підключаємо бібліотеки iostream.h
#include//та math.h
voidmain() //Оголошуємо головну функцію main()
{
intW,N; //Оголошуємо перемінні W,Nцілого типу,
charSTRING[100]={0}; //масив STRING
charSTRING1[100]={0}; //та STRING1символьного типу,
chari; //перемінну і символьного типу
cout
cout
cin>>STRING;//Вводимо рядок
if(STRING[0]=='@') //Умова: якщо на початку рядка стоїть “@”,
{
cout
gotot; //повідомлення і починає працювати після мітки “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
}
elsegoto p; //В іншому разі – програма виходить з циклу
}
p:;
cout
cout
for(i=0;i
{//параметра і від 0 до N-1,кроком1
if((STRING1[i]=='A')||(STRING1[i]=='a')) //Якщо елемент
cout
elsecout
}
cout
t:;//Мітка t
cout
cin>>W;//Вводимо зайву перемінну Wдля затримки екрану
}//Кінець функції main()
/>
Ні Так/> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> />
Так Ні
/>
/>/>/>/>/> Ні Так/> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> />
Рисунок2.2 Блок-схема алгоритму до програми Proga6.срр
2.7 Визначення суми добутків
ПрограмаProga7.сррпризначена для знаходження добутку суми добутків
/>,
якщозадане натуральне число N
Вхіднідані: параметр N(типint)
Вихіднідані: сума добутків рядка S(тип double)
#include//Підключаємо бібліотеки iostream.h
#include//таmath.h
intfact(int h, int f) //Оголошуємо функцию fact, якапо заданому
{// параметру h та кінцевомузначенню f
//знаходить факторіал цього числа
intresult=1;
for(h=1;h==f;h++)
result*=h;
returnresult*=h;
}
voidmain() //Оголошуємо головну функцію main()
{
inti,j,N,W; //Оголошуємо перемінні i,j,N,Wцілого типу
doubleS,S1,P; //та перемінні х та Sтипу double
cout
cin>>N;//ВводимоN
S1=0;//Обнулюємо початкове значення суми S1
P=1;//ДобуткуP присвоюємо початковезначення 1
for(i=1;i
{//параметра і від 1 до N,кроком1
for(j=1;j
{//параметра j від 1до i,кроком1
P=fact(j,i)/fact(i,N);//Знаходимо значення Р
S1+=P;//До значення перемінної S1додаємо значення Р
}//Кінець циклу
}
S=S1;//Перемінній S присвоюємокінцеве значення перемінної S1
cout
cout
cin>>W;//Вводимо зайву перемінну Wдля затримки екрану
}//Кінець функції main()
2.8 Знаходження числа
Програма Proga8.срр призначена для знаходженнятакого числа аi, що |аi — ai-1 | задана поправилу аi = 1 / і, та дано число 0
Вхіднідані: параметр е (тип double)
Вихіднідані: сума рядка S(тип double)
#include//Підключаємобібліотеку iostream.h
void main() //Оголошуємо головну функцію main()
{
int i; //Оголошуємо перемінну і цілого типу
double e,W; //та перемінні e,W типу double,
doubler[100]={0}; //масивr типу double
cout
cin>>e; //Вводимо “e”
for (i=0;i
{//параметра iвід 0до 100,кроком1
r[i]=(1/(i+1));//і-й елементмасива =(1/і+1)
if((r[i]-r[i-1])
goto p; // програма виходить з циклу по мітці “р”
} //Кінець циклу
p:; //Мітка “р:”
cout
cout
cin>>W;//Вводимо зайву перемінну Wдля затримки екрану
}//Кінець функції main()
2.9 Знаходження суми рядка
ПрограмаProga9.сррпризначена для знаходження суми рядка
/>
якщозадане натуральне число Nта М (N>M)
Вхіднідані: параметр М (тип int)параметр N (тип int)
Вихіднідані: сума рядка S(тип double)
#include//Підключаємо бібліотеки iostream.h
#include//таmath.h
intfact(int i, int f) //Оголошуємо функцию fact, якапо заданому
{// параметру i та кінцевомузначенню f
//знаходить факторіал цього числа
intresult=1;
for(i=1;i
result*=i;
returnresult;
}
voidmain() //Оголошуємо головну функцію main()
{
intN,M,W; //Оголошуємо перемінну і цілого типу
doubleS; //таперемінну S типуdouble
coutM)»
//NтаM при умові (N>M)
p://Мітка р:
cout
cin>>N;//Вводимо N
cout
cin>>M;//Вводимо М
if(M>N)//Приумові М>N
{
coutM»
gotop; //Перехід до мітки р:
}
S=0;//Обнулюємо початкове значення суми S
for(M;M
//параметраM від свого значення до N,кроком1
S+=(M*M*log(fact(M,N)));//Знаходимо суму
cout
cout
cin>>W;//Вводимо зайву перемінну Wдля затримки екрану
}//Кінець функції main()
2.10 Виведеннязаданого рядка до першого знаку “
ПрограмаProga10.сррпризначена для виведення заданого рядка, якийзакінчується “@”, до першого знаку “:”
Вхіднідані: символьний масив STRING (тип char)
Вихіднідані: заданий рядок до першого знаку “:”
#include//Підключаємо бібліотеки iostream.h
#include//та math.h
voidmain() //Оголошуємо головну функцію main()
{
intW,N; //Оголошуємо перемінні W,Nцілого типу,
charSTRING[100]={0}; //масив STRING
charSTRING1[100]={0}; //та STRING1символьного типу,
chari; //перемінну і символьного типу
cout
cout
cin>>STRING;//Вводимо рядок
if((STRING[0]=='@')||(STRING[0]==':')) //Умова: якщо на початку
{// рядка стоїть “@”, або “:”, програма
cout
}
N=0;//Перемінній N присвоюємозначення 0
for(i=0;STRING[i]+='\0';i++) //Задаємо цикл для проходження значень
{//параметра і від 0 до символа кінця рядку
if(STRING[i]!='@') //Умова: якщо і-ий елемент масива=”@”
{
STRING1[i]=STRING[i];//Нічого не відбувається
N=N+1;//Перемінній N присвоюємо їїзначення додаючи 1
}
elsegoto p; //В іншому разі – програма виходить з циклу
}
p:;//Міткар:
cout
cout
for(i=0;i
{//параметра і від 0 до символа кінця рядку
if(STRING1[i]!=':')//Умова: якщо і-ий елемент масива не=”:”
cout
elsegoto t; //в іншому випадку програма виходить з циклу
}
cout
t:;//Мітка t:
cout
cin>>W;//Вводимо зайву перемінну Wдля затримки екрану
}//Кінець функції main()
2.11 Виведеннядня народження
ПрограмаProga11.сррпризначена для розрахунку дуже щасливого, щасливогоабо звичайного дня народження по введеному року, місяцю та дню народженнякористувача
Вхіднідані: масиви цілих чисел GODROJD,MASROJD,DENROJD
параметриSgod,Smes,Sden(тип int)
Вихіднідані: дуже щасливий, просто щасливий або звичайний день народження користувача
#include>//Підключаємо бібліотеки iostream.h
#include//та math.h
main()//Оголошуємо головну функцію main()
{
intG,M,D,i,j,k,W; //Оголошуємо перемінні G,M,D,i,j,k,W,
int Sgod,Smes,Sden;//Sgod,Smes,Sden цілого типу
intGODROJD [4]; //масив GODROJD,
intMESROJD [2]; //масив MESROJD,
intDENROJD [2]; //масив DENROJD цілого типу
p:;//мітка Р:
cout
for(i=0;i
{//параметра і від 0 до 3
cout
cin>>GODROJD[i];//Вводимо кожен раз по одній цифрі року народж.
}
//Умова:якщо буде введений 2004 рік і більше,
if((GODROJD[0]>=2)&&(GODROJD[1]>=0)&&(GODROJD[2]>=0)&&(GODROJD[3]>=4))
{
cout
gotop; //виведе повідомлення і перейде до мітки р:
}
r:;//мітка r:
cout
for(j=0;j
{//параметра і від 0 до 1
cout
cin>>MESROJD[j];//Вводимокожен раз по одній цифрі місяця народж.
}
//Умова:якщо буде введений 13 місяць і більше
if((MESROJD[0]>=1)&&(MESROJD[1]>=3))
{
cout
gotor; //виведе повідомлення і перейде до мітки r:
}
s:;//мітка s:
cout
for(k=0;k
{//параметра і від 0 до 1
cout
cin>>DENROJD[k];//Вводимо кожен раз по одній цифрі дня народж.
}
//Умова:якщо буде введений 32 день місяця і більше
if((DENROJD[0]>=3)&&(DENROJD[1]>=2))
{
cout
gotos; //програма виведе повідомлення і перейде до мітки s:
}
Sgod=0;//Обнуляємо значення перемінної Sgod
for(i=0;i
//параметраі від 0 до 3
Sgod+=GODROJD[i];//Дозначення перемінної Sgod додаємо значення
//і-гоелементу масива GODROJD
Smes=0;//Обнуляємо значення перемінної Smes
for(j=0;j
//параметраі від 0 до 1
Smes+=MESROJD[j];//Дозначення перемінної Smes додаємо значення
//і-гоелементу масива MESROJD
Sden=0;//Обнуляємо значення перемінної Sden
for(k=0;k
//параметраі від 0 до 1
Sden+=DENROJD[k];//До значення перемінної Sden додаємо значення
//і-гоелементу масива DENROJD
G=Sgod%7;//переміннійG присвоюємо залишок відділення на 7
//перемінноїSgod
M=Smes%7;//переміннійM присвоюємо залишок відділення на 7
//перемінноїSmes
D=Sden%7;//переміннійD присвоюємо залишок від ділення на 7
//перемінноїSden
if((G==M)&&(M==D)&&(G==D))//Умова: якщо значення змінної Gдорівнює //значенню змінної М, значення змінної М дорівнює значенню змінної D//та значення змінної Gдорівнює значенню змінної D,то програма //виведе:
cout
elseif ((G==M)||(M==D)||(G==D))//Якщо співпадають тільки будь-які
//двізмінні, то програма виведе:
cout
//Якщоспівпадань не має, то програма виведе:
elsecout
cout
cin>>W;//Вводимо зайву перемінну Wдля затримки екрану
return0; //Функція вертає 0
}//Кінець функції main()
2.12 Знаходження кількості слів “no”
Програма Proga12.срр призначена для знаходженнякількості слів “no”, якщослова у введеному тексті розділяються пробілами
Вхіднідані: параметр і (символьного типу)
Вихіднідані: кількість kol(цілого типу)
Блок-схемадо програми Proga12.сррпредставлена на рисунку 2.3
#include//Підключаємо бібліотеки stdio.h
#include//таconio.h
oidmain() //Оголошуємо головну функцію main()
{
intkol;//Оголошуємо перемінну kolцілого типу,
chari; //та перемінну і символьного типу
//Вводиморядок в кінці якого просимо поставити @
puts(«Введітьваш рядок. В кінці поставте @:»);
kol=0;//Початкове значення параметра кількості дорівнює 0
i=0;//Задаємо початкове значення параметра і
while((i=getchar())!='@')//Читаєморядок доки не зустрінеться символ @
{
if((i=='n')&&(i+1=='o')) //Умова знаходження слова «no»
kol=kol+1;//Якщо умова TRUE, то кількість
//слівзбільшуємо на одиницю
i+=1;//Збільшуємо лічильник на одиницю
}
printf(«Відповідь:%d \n»,kol); //Виводимо відповідь
getch();//Утримуємо екран
}//Кінець функції main()
/> /> /> /> /> /> /> /> /> /> /> /> /> /> />
Ні Так/> /> /> /> /> /> /> /> /> /> /> /> /> />
/>/> /> /> /> /> /> /> /> /> /> /> /> />
Getch();
;
i++;
;
Рисунок2.3 Блок-схема алгоритму до програми Proga12.срр
2.13 Знаходження точки перетину двох прямих
Програма Proga13.срр призначена для знаходженнявзаємного розташування двох прямих A1*x+B1*y=C1 та A*x+B*y=C, якщо задані числа A1,B1,C1,A,B,C. Якщо пряміперетинаються, то вивести на єкран координати точки перетину.
Вхіднідані: перемінні A1,B1,C1,A,B,C,x,y,W; (тип float)
Вихіднідані: координати точки перетину х, у (типfloat)
Блок-схемадо програми Proga13.сррпредставлена на рисунку 2.4
#include//Підключаємобібліотеки iostream.h
#include//таmath.h
voidmain() //Оголошуємо головну функцію main()
{
floatA1,B1,C1,A,B,C,x,y,W;//оголошуємо перемінні
//A1,B1,C1,A,B,C,x,y,W типу float
cout
cin>>A1;//Вводимозначення перемінної А1
cout
cin>>B1;//Вводимо значення перемінної В1
cout
cin>>C1;//Вводимозначення перемінної С1
cout
cin>>A;//Вводимо значення перемінної А
cout
cin>>B;//Вводимо значення перемінної В
cout
cin>>C;//Вводимо значення перемінної С
if((A1==A)&&(B1==B))//Умова:якщо значення перемінної А1=А та
//значенняперемінної В1=В
cout
else//Инакше
{
x=((C1-B1)/((A1*C)/(A*C-A*B1+A1*B)))/A1;//Знаходимох та у
y=((A1*C)/(A*C-A*B1+A1*B));//повідповідних формулах
//Ввиводимокоординати точти перетину двох заданих прямих
cout
}
cout
cin>>W;//Вводимо зайву перемінну Wдля затримки екрану
}//Кінецьфункції main()/> /> /> /> /> /> /> /> />
/>/>/>/> Ні Так/> /> /> /> /> /> /> /> />
Рисунок2.4 Блок-схема алгоритму до програми Proga13.срр
2.14 Знаходженняпевних тризначних чисел
ПрограмаProga14.сррпризначена для знаходження всіх тризначних чисел якіможна представити різницею між квадратом числа, яке утворюється першими двомацифрами, та квадратом третьої цифри
Вхіднідані: всі тризначні числа
Вихіднідані: певні тризначні числа
Блок-схемадо програми Proga14.сррпредставлена на рисунку 2.5
#include//Підключаємобібліотеки iostream.h
#include//та math.h
voidmain() //оголошуємо головну функцію main()
{
intW,i=100,a=0,b=0; //Оголошуємо перемінні W,I,a,bцілого типу //Перемінній “і” присвоюємо початковезначення 100, перемінним
//“а”та “b” — 0
cout
for(i=100;i
{//параметраі від 100 до 999 кроком 1
a=(i/10)*(i/10);//Знаходимоквадрати перших двох цифр
//від 100 до 999
b=(i%10)*(i%10);//Знаходимоквадрати залишків від
//ділення на 10 чисел від 100 до 999
if(((a-b)>=100)&&((a-b)
//тризначними
cout
}
cout
cin>>W;//Вводимо зайву перемінну Wдля затримки екрану
}//Кінецьфункції main()
/> /> /> /> /> /> /> /> />
/> Ні Так/> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> />
Рисунок2.5 Блок-схема алгоритму до програми Proga14.срр
2.15 Знаходженняпевного тризначного числа
ПрограмаProga15.сррпризначена для знаходження елемента масива, значенняякого найбільш наближене до якогось цілого числа
Вхіднідані: масиви чисел В, С, С1 (тип int)
параметрМ (тип int)
Вихіднідані: певний елемент масива В
#include//Підключаємобібліотеку iostream.h
voidmain() //оголошуємо головну функцію main()
{
intN,W,i,M,amin; //Оголошуємо перемінні N,W,i,M,aminцілого типу
intB[100]; //Оголошуємо массив В зі 101 елементутипу int
intC[100]; //Оголошуємо массив С зі 101 елементутипу int
intC1[100]; //Оголошуємо массив С1 зі 101 елементутипу int
cout
cin>>N;//Вводимокількість елементів масиву
cout
for(i=0;i
cin>>B[i];//масиваВ
cout
cin>>M;//Вводимодовільне число М
for(i=0;i
C[i]=(B[i]-M);//Елементаммасива С присвоюємо елементи масива
//В мінус значення числа М
cout
for(i=0;i
{//параметра і від 0 до Nкроком 1
if(C[i]
//
elseC1[i]=C[i]; //Инакше, залишаємо без змін
}
cout
amin=C1[0];//Переменнійamin присвоюємо значення нульового
//елемента масива С1
for(i=1;i
{/параметраі від 1 до N кроком 1
if(C1[i]
amin=C1[i];//знаходимомінімальний елемент масива
}
cout
cout
cin>>W;//Вводимо зайву перемінну Wдля затримки екрану
}//Кінецьфункції main()
2.16 Вивід квадратної матриці М
ПрограмаProga16.сррпризначена для виводу матриці розмірності M
/>
Вхіднідані: параметр n(тип int)
Вихіднідані: матриця заданої розмірності
#include//Підключаємобібліотеку iostream.h
void main()//оголошуємоголовну функцію main()
{
int i,j,n,s,k,h,m;//Оголошуємоперемінні i,j,n,s,k,h,mцілого типу
double A[100][100]={{0},{0}};//Оголошуємомасиви А та В
double B[100][100]={{0},{0}};//типуdouble
cout
cin>>n;//Вводиморозмірність квадратної матриці А
s=0;//Переміннійs присвоюємо початковезначення — 0
k=2; //Переміннійk присвоюємо початковезначення — 2
for (i=0;i
{//параметра і від 0 до nкроком 1
s+=1; //Дозначення перемінної sдодаємо одиницю
for (j=0;j
{//параметра jвід 0 до n кроком 1
if (i==j)//Умова:якщо значення перемінної і дорівнює j,
{
A[i][j]=1;//заданомуелементу масива А присвоюємо значення 1
for (m=1,h=2;m
A[i+m][j]=h;//Заданомуелементу масива А присвоюємо значення h
}
else //Віншому випадку
{
A[i][0]=s;//Заданому елементу масива А присвоюємо значення s
}
cout
}
cout
k+=1;//До значення перемінної kдодаємо одиницю
}
cout
}//Кінецьфункції main()
2.17 Вивідматриці В(М;N)
ПрограмаProga17.сррпризначена для виводу матриці В(M;N),елементами якої є випадкові числа, рівномірно розташовані в інтервалі (-5;7).Переставляючи її рядки та стовпці, домогтися того, щоб найбільший елементматриці виявився в правому нижньому куті
Вхіднідані: масив чисел В (тип int)
параметриМ,N(тип int)
Вихіднідані: матриця В певного вигляду
#include//Підключаємобібліотеки iostream.h,
#include//math.h
#include// таstdlib.h
voidmain() //оголошуємо головну функцію main()
{
intB[100][100]; //Оголошуємо масив В типу int,та перемінні
inti,a,b,N,M,W,x,y,j, max=-5;// i,a,b,N,M,W,x,y,j,max=-5 типу
//int.Перемінній maxприсвоюємо початкове значення -5
cout
cin>>M;//Вводимокількість рядків матриці
cout
cin>>N;//Вводимо кількість стовбців матриці
cout
for(i=0;i
{//параметра і від 0 до М кроком 1
for(j=0;j
{//параметра j від 0 до Nкроком 1
B[i][j]=(rand()%13)-5;//Заповнюємомасив В випадковими
cout
}
cout
}
for(i=0;i
{//параметра і від 0 до М кроком 1
for(j=0;j
//параметраj від 0 до Nкроком 1
if(B[i][j]>max)//Умова:якщо елемент масиву В >max,
{
max=B[i][j];//переміннійmax присвоюємо значенняелементаB[i][j]
x=i;//переміннійx присвоюємо значенняпараметра і
y=j;//переміннійy присвоюємо значенняпараметра j
}
}
cout
//матриці
for(i=0;i
{//параметра і від 0 до М кроком 1
a=B[i][y];//переміннійа присвоюємо значення B[i][y]
B[i][y]=B[i][N-1];//Змінюємозначення елементів в масиві В
B[i][N-1]=a;//Значеннюелемента матриці В присвоюємо
}//значенняперемінної а
for(j=0;j
{//параметра j від 0 до Nкроком 1
b=B[x][j];//перемінній b присвоюємозначення B[x][j]
B[x][j]=B[M-1][j];//Змінюємо значення елементів в масиві В
B[M-1][j]=b;//Значенню елемента матриці В присвоюємо
}//значенняперемінної b
cout
for(i=0;i
{//параметраі від 0 до М кроком 1
for(j=0;j
{//параметраj від 0 до Nкроком 1
cout
}
cout
}
cout
cin>>W;//Вводимо зайву перемінну Wдля затримки екрану
}//Кінецьфункції main()
2.18 Знаходження найбільшого з від’ємних чисел матриці
ПрограмаProga18.сррпризначена для знаходження найбільшого з від’ємнихчисел матриці А(85), рівномірно розподілених в інтервалі [-20;10]
Вхіднідані: масив чисел А (тип int)
Вихіднідані: параметр min(тип int)
#include//Підключаємобібліотеки iostream.h,
#include//таstdlib.h
voidmain() //оголошуємо головну функцію main()
{
intA[85], i,min=10, s,W;//Оголошуємо масив цілих чисел А,та
//перемінніі,s,W,minтипу int
s=0;//Переміннійs присвоюємо початковезначення 0
for(i=0;i
{//параметра і від 0 до 85 кроком 1
A[i]=(rand()%31)-20;//Заповнюємоматрицю А випадковими числами
cout
}
cout
for(i=0;i
{//параметра і від 0 до 85 кроком 1
if(A[i]
{if (A[i]
}//переміннійmin присвоюємо значення і-гоелемента матриці А
cout
cout
cin>>W;//Вводимо зайву перемінну Wдля затримки екрану
}//Кінецьфункції main()
2.19 Знаходженнянайбільшого значення напруги в електромережі
ПрограмаProga19.сррпризначена для знаходження найбільшого значеннянапруги в електромережі в інтервалі (20,6)годин та часу, якщо протягом добикожну годину були проведені 24 заміра напруги
Вхіднідані: масив чисел А (тип int)
Вихіднідані: параметр mахМ(тип int)
#include//Підключаємобібліотеки iostream.h,
#include//math.hта
#include//stdlib.h
voidmain() //оголошуємо головну функцію main()
{
intmaxN,i,maxM,N,M,W; //Оголошуємо перемінніmaxN,i,maxM,N,M,W
intA[23]={0}; // типу int,та масив цілих чисел А
for(i=0;i
A[i]=(rand()%450)-200;//вінтервалі (200;250)
maxN=200;//ПеремінніїmaxN присвоюємо початковезначення 200
for(i=0;i
if(A[i]>=maxN)//Умова:якщо елемент масива А > або= maxN,
{
maxN=A[i];//переміннійmaxN присвоюємо значенняі-го елементу А
N=(i+1);//ПереміннійN присвоюємо значення(і+1)
}
for(i=19;i
if(A[i]>=maxM)//Умова: якщо елемент масива А > або= maxМ,
{
maxM=A[i];//перемінній maxМприсвоюємо значення і-го елементу А
M=(i+1);//Перемінній М присвоюємо значення (і+1)
}
if(maxN>=maxM)//Умова:якщо значення maxN> значення maxN,виводимо
cout
elsecout
cout
cin>>W;//Вводимо зайву перемінну Wдля затримки екрану
}//Кінецьфункції main()
2.20 Знаходження першого члену послідовності
ПрограмаProga20.срр призначена для знаходження першого членупослідовності />, n = 1, 2, …, який не належить відрізку [А, В], якщо задані числа А0 типу double
Вхіднідані: параметри А та В (тип double)
Вихіднідані: параметр і (тип int)
#include//Підключаємобібліотеки iostream.h
#include//таmath.h
void main() //оголошуємоголовну функцію main()
{
int N=100,i;//Оголошуємоперемінні N=100,іцілого типу
double S,a,A,B,W; //таперемінні S,a,A,B,Wтипу double
cout
cin>>A;//вводимочисло А
cout0:»;//Вводимозапит
cin>>B;//вводимо число B>0
S=0; //Переміннійs присвоюємо початковезначення 0
for(i=1;i
{//параметра і від 0 до Nкроком 1
S+=(pow(-1,i))*((sqrt(2)+i));//Знаходимоs за вказаною формулою
a=S;//Переміннійа присвоюємо значення перемінної s
if((a=B))//Умова:якщо значення перемінної а
{//значеннюперемінної А, та > або= значенню перемінної В, виводимо
cout
goto p;//Звертаємосядо мітки р
}
else ;} //Віншому разі нічого не відбувається
p:;//Мітка р:
cout
cin>>W;//Вводимо зайву перемінну Wдля затримки екрану
}//Кінецьфункції main()
2.21 Видалення пробілів з рядка
ПрограмаProga21.срр призначена для стискання рядка шляхом видаленняпробілів з тексту
Вхіднідані: рядок символів S(тип char)
Вихіднідані: стиснутий рядок S(тип Char)
Блок-схемадо програми Proga21.сррпредставлена на рисунку 2.6
#include//Підключаємобібліотеки conio.h
#include//та stdio.h
voidmain() //оголошуємо головну функцію main()
{
charS[80],i; //оголошуємо символьний масив з 80елементів та
//символьну перемінну i
printf(«Введітьваш рядок. В кінці поставте @:\n»);//Вводимо рядок,
gets(S);//який закінчується на @
i=0;//Задаємо початкове значення параметра i
while((S[i]!='@'))
{
if(S[i]==' ') //Задаємо умову знаходження пробіла врядку
printf("%*",S[i+1]);//якщо пробіл знайдений, пропускаємо його
//тавиводимо наступні елементи попорядку
elseprintf("%c",S[i]); //якщо пробіла немає,виводимо даний // елемент на свойому місці
i+=1;//Збільшуємо лічильник на одиницю
}
printf("\n");//Переводимо курсор на новий рядок
getch();//Затримуємо екран
}//Кінецьфункції main()/> /> /> /> /> /> /> /> /> /> /> /> /> /> />
/>/>/>/>/>/> Ні Так/> /> /> /> /> /> /> /> /> /> /> /> />
i++; /> /> /> /> /> /> /> />
Рисунок2.6 Блок-схема алгоритму до програми Proga21.срр
2.22 Знаходженнякількості вказаних символів
ПрограмаProga22.срр призначена для знаходження кількості вказанихсимволів взаданому рядку
Вхіднідані: рядок символів STRING(тип char)
вказанийсимвол N (типchar)
Вихіднідані: кількість вказаних символів g(типint)
#include//Підключаємобібліотеку iostream.h
charkol(char S[100],char a) //Оголошуємо функцию kol, якапо заданому
{//рядкуS та вказаному символу“а”
inth,result=0; // знаходитькількість символів “а”, які
//зустрічаютьсяв рядку S
for(h=0;S[h]+='\0';h++)
{if(S[h]==a) result+=1;}
returnresult;
}
voidmain() //Оголошуємо головну функцію main()
{
intW,g; //Оголошуємо перемінні W,gцілого типу,
charSTRING[100]={0}; //символьний масив зі 100 елементів та
charN; //перемінну Nсимвольного типу
cout
cin>>STRING;//Вводиморядок елементів
cout
cin>>N;//Вводимодовільний символ
g=kol(STRING,N);//Переміннійg присвоюємо функцію kol,яка лічить
//скількиразів заданий символ зустрівся в нашому рядку
cout
cout
cin>>W;//Вводимо зайву перемінну Wдля затримки екрану
}//Кінецьфункції main()
2.23 Зміненняматриці певним чином
ПрограмаProga23.срр призначена для знаходження в матрицімінімального за модулем елемента та заміщення ним всіх елементів з непарниминомерами
Вхіднідані: матриця В (тип int)
Вихіднідані: змінена матриця В (тип int)
#include//Підключаємобібліотеку iostream.h
voidmain() //Оголошуємо головну функцію main()
{
intW,k,j,min=9999; //Оголошуємо змінні W,k,j,minцілого типу
intB[100]; //та масив В зі 100 елементів цілоготипу
cout
cin>>k;//Вводимокількість елементів матриці
cout
for(j=0;j
cin>>B[j];//нашоїматриці
cout
for(j=0;j
{
if(B[j]
}//В– від’ємний,помножуємо його на -1
for(j=0;j
{
if(B[j]
min=B[j];//
}
for(j=0;j
{
if(j%2!=0)B[j]=min; //При непарному jелементу матриці
}//присвоюємозначення змінної min
for(j=0;j
cout
cout
cin>>W;//Вводимо зайву перемінну Wдля затримки екрану
}//Кінецьфункції main()
2.24 Знаходження суми j-тогорядка
ПрограмаProga24.срр призначена для знаходження в прямокутній матрицісуми елементів j-тогорядка
Вхіднідані: матриця В (тип int)
Вихіднідані: сума j-того рядка sum(тип int)
#include//Підключаємобібліотеку iostream.h
intfunc(int A[100][100],int m, int n)//Оголошуємо функцію func, якапо
{//заданійматриці А, та певного
intsum=0,j,i; //рядка знаходить суму елементів
for(j=0;j
sum+=A[m-1][j];
return(sum);
}
voidmain() //Оголошуємо головну функцію main()
{
intx,W,y,k,nomer,i;//Оголошуємо змінні x,W,y,k,nomer,iцілого типу
intB[100][100]; //та матрицю В цілого типу
cout
cin>>x;//Вводимокількість рядків нашої матриці
cout
cin>>y;//Вводимо кількість стовбців нашої матриці
cout
for(i=0;i
{
for(k=0;k
cin>>B[i][k];//Вводимоелементи нашої матриці
}
cout
cin>>nomer;//Вводимономер рядка суму якого ми бажаємо знайти
cout
cout
cin>>W;//Вводимо зайву перемінну Wдля затримки екрану
}//Кінецьфункції main()
2.25 Знаходження кількості цифр в числі та їх суми
ПрограмаProga25.срр призначена для знаходження кількості цифр взаданому числі та їх суми
Вхіднідані: число а (тип int)
Вихіднідані: кількість цифр К (тип int)
сумацифр S (типdouble)
#include//Підключаємобібліотеки iostream.h
#include//таstdlib.h
void main() //Оголошуємоголовну функцію main()
{
int *Z,G,i=0,K=0,j,b,a,c,*W; //Оголошуємозмінні G,i=0,K=0,j,b,a,c
double S=0;//цілого типу,покажчики *z, *W тазмінну S типу double
cout 9 цифр)\n»
cin>>a;//Вводимочисло а
cout
c=a;//Зміннійс присвоюємо значення змінної а
for(;a>0;)//Задаємоцикл
{
a=(a-a%10)/10;//Знаходимоцифри числа а
i++; //Дозначення змінної і додаємо 1
Z=(int*)calloc(i,sizeof(int));//Виділяємопам’ять для Z
}
for(b=0;b
{
Z[b]=c%10;//Знаходимозалишок від числа “с” поділеного на 10
c=(c-c%10)/10;//Знаходимо цифри числа с
}
W=(int*)calloc(i,sizeof(int));//Виділяємо пам’ятьдля W
for(j=0;j
W[j]=Z[i-j-1];//j-тийелемент матриці W=i-j-1
for(j=0;j
cout
cout
for(j=0;j
{
S+=W[j];//Знаходимов циклі суму елементів матриці W
K++; //Збільшуємолічильник К на 1
}
cout
cout
cout
cout
cin>>G;//Вводимо зайву перемінну Gдля затримки екрану
}//Кінецьфункції main()
2.26 Знаходженняномера селища
ПрограмаProga26.срр призначена длязнаходження номера селища і, в якому зручніше розташувати лікарню, якщо маєтьсяk селищ і якщо в селищі ірозташована лікарня, то подорож до селища j займе час a[i][j].
Вхіднідані: кількість селищ k(тип int)
Вихіднідані: номер селища і (тип int)
#include//Підключаємобібліотеки iostream.h,
#include//math.h
#include//таstdlib.h
voidmain() //Оголошуємо головну функцію main()
{
intA[100][100]={{0},{0}};//Оголошуємо матрицю А,
intB[100]={0}; //матрицю В цілого типу та
intN,W,k,i,j,z,S,min=999;//перемінні N,W,k,i,j,z,S,min типу int
cout
cin>>k;//Вводимокількість селищ
for(i=0;i
for(j=0;j
A[i][j]=rand()%10+1;//Заповнюємоматрицю А випадковими числами
for(i=0;i
for(j=0;j
A[i][j]=A[j][i];//Переставляємоелементи матриці певним чином
for(z=0,j=0;z
{
for(i=0;i
S=A[z][i];//ЗміннійS присвоюємо значенняелемента матриці А
B[j]=S;//j-томуелементу матриці В присвоюємо значення змінної S
}
for(j=0;j
if(B[j]
{
min=B[j];//Зміннійmin присвоюємо значення j-тогоелемента
N=j;//ЗміннійN присвоюємо значенняпараметра j
}//Виводимо відповідь
cout
cout
cin>>W;//Вводимо зайву перемінну Wдля затримки екрану
}//Кінецьфункції main()
2.27 Перевід числа до різних систем счислення
ПрограмаProga27.срр призначена дляпереводу числа з десяткової системи счислення до війкової, вісімкової та шістнадцькової системсчислення
Вхіднідані: число N в десятковійсистемі счислення (тип int)
Вихіднідані: число Nвдвійковій системі счислення
числоN увісімковій системі счислення
числоN вшістнадцьковій системі счислення
Блок-схемадо програми Proga27.сррпредставлена на рисунку 2.7
Заголовниймодуль stdafx.cpp
//stdafx.cpp: source file that includes just the standard includes
//Proga27_01.pchwill be the pre-compiled header
//stdafx.objwill contain the pre-compiled type information
#include«stdafx.h» //Підключаємо заголовний модуль stdafx.h
#include//Підключаємобібліотеки iostream.h,
#include//таstdlib.h
voidmain() //Оголошуємо головну функцію main()
{
intN,i; //Оголошуємо змінні N,іцілого типу,
charstr_2[100],str_8[100],str_16[100];//масивиstr_2str_8 str_16
charF; //та змінну Fсимвольного типу
cout
cin>>N;//Вводимочисло в десятковій системі счислення
cout
itoa(N,str_2,2);//Задопомогою функції itoa переводимо число Nдо
for(i=0;str_2[i]+='\0';i++)//двійковоїсистемі счислення
{
F=str_2[i];
cout
}
cout
cout
itoa(N,str_8,8);//За допомогою функції itoa переводимо числоN до
for(i=0;str_8[i]+='\0';i++)//вісімковоїсистемі счислення
cout
cout
cout
itoa(N,str_16,16);//За допомогою функції itoa переводимо числоN до
for(i=0;str_16[i]+='\0';i++)//шістнадцьковоїсистемі счислення
cout
cout
}//Кінецьфункції main()
Заголовниймодуль stdafx.р
//stdafx.h: include file for standard system include files,
//or project specific include files that are used frequently, but
//are changed infrequently
#if!defined(AFX_STDAFX_H_489A9441_BB1B_422E_BEEB_DC3DF70A8845__INCLUDED_)
#defineAFX_STDAFX_H__489A9441_BB1B_422E_BEEB_DC3DF70A8845__INCLUDED_
#if_MSC_VER > 1000
#pragmaonce
#endif// _MSC_VER > 1000
#defineVC_EXTRALEAN // Exclude rarely-used stuff fromWindows headers
#include // MFC core and standard components
#include // MFC extensions
#include // MFC Automation classes
#include// MFC support for InternetExplorer 4
//CommonControls
#ifndef_AFX_NO_AFXCMN_SUPPORT
#include// MFC support for Windows CommonControls
#endif//_AFX_NO_AFXCMN_SUPPORT
//{{AFX_INSERT_LOCATION}}
//Microsoft Visual C++ will insert additional declarations//immediatelybefore the previous line.
#endif//!defined(AFX_STDAFX_H_489A9441_BB1B_422E_BEEB_DC3DF70A8845__INCLUDED_)
Заголовниймодуль resource.h
//{{NO_DEPENDENCIES}}
//Microsoft Developer Studio generated include file.
//Used by Proga27_01.rc
//
#defineIDM_ABOUTBOX 0x0010
#defineIDD_ABOUTBOX 100
#defineIDS_ABOUTBOX 101
#defineIDD_PROGA27_01_DIALOG 102
#defineIDR_MAINFRAME 128
#defineIDD_VVOD_10 1001
#defineIDD_VVOD_2 1002
#defineIDD_VVOD_8 1003
#defineIDD_VVOD_16 1004
#defineIDC_BUTTON1 1006
#defineIDC_BUTTON2 1007
//Next default values for new objects
//
#ifdefAPSTUDIO_INVOKED
#ifndefAPSTUDIO_READONLY_SYMBOLS
#define_APS_NEXT_RESOURCE_VALUE 129
#define_APS_NEXT_COMMAND_VALUE 32771
#define_APS_NEXT_CONTROL_VALUE 1009
#define_APS_NEXT_SYMED_VALUE 101
#endif
#endif
Заголовниймодуль Proga27_01Dlg.h
//Proga27_01Dlg.h: header file
#if!defined(AFX_PROGA27_01DLG_H__5D1551EB_3502_4EC1_A6BF_C06DBBB32D98__INCLUDED_)
#defineAFX_PROGA27_01DLG_H__5D1551EB_3502_4EC1_A6BF_C06DBBB32D98__INCLUDED_
#if_MSC_VER > 1000
#pragmaonce
#endif// _MSC_VER > 1000
//////////////////////////////////////////////////////////////////////
//CProga27_01Dlg dialog
classCProga27_01Dlg: public CDialog
{
//Construction
public:
CProga27_01Dlg(CWnd*pParent = NULL);// standard constructor
//Dialog Data
//{{AFX_DATA(CProga27_01Dlg)
enum{ IDD = IDD_PROGA27_01_DIALOG };
CStringm_Vvod_16;
CStringm_Vvod_2;
CStringm_Vvod_8;
intm_Vvod_10;
//}}AFX_DATA
//ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CProga27_01Dlg)
protected:
virtualvoid DoDataExchange(CDataExchange* pDX);// DDX/DDV support
//}}AFX_VIRTUAL
//Implementation
protected:
HICONm_hIcon;
//Generated message map functions
//{{AFX_MSG(CProga27_01Dlg)
virtualBOOL OnInitDialog();
afx_msgvoid OnSysCommand(UINT nID, LPARAM lParam);
afx_msgvoid OnPaint();
afx_msgHCURSOR OnQueryDragIcon();
afx_msgvoid OnButton1();
afx_msgvoid OnButton2();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
//{{AFX_INSERT_LOCATION}}
//Microsoft Visual C++ will insert additional declarationsimmediately before the previous line.
#endif//!defined(AFX_PROGA27_01DLG_H__5D1551EB_3502_4EC1_A6BF_C06DBBB32D98__INCLUDED_)
Заголовниймодуль Proga27_01Dlg.cpp
//Proga27_01Dlg.cpp: implementation file
//
програма число рядок матриця
#include«stdafx.h»
#include«Proga27_01.h»
#include«Proga27_01Dlg.h»
#ifdef_DEBUG
#definenew DEBUG_NEW
#undefTHIS_FILE
staticchar THIS_FILE[] = __FILE__;
#endif
//////////////////////////////////////////////////////////////////////
//CAboutDlg dialog used for App About
classCAboutDlg: public CDialog
{
public:
CAboutDlg();
//Dialog Data
//{{AFX_DATA(CAboutDlg)
enum{ IDD = IDD_ABOUTBOX };
//}}AFX_DATA
//ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CAboutDlg)
protected:
virtualvoid DoDataExchange(CDataExchange* pDX);// DDX/DDVsupport
//}}AFX_VIRTUAL
//Implementation
protected:
//{{AFX_MSG(CAboutDlg)
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
CAboutDlg::CAboutDlg(): CDialog(CAboutDlg::IDD)
{
//{{AFX_DATA_INIT(CAboutDlg)
//}}AFX_DATA_INIT
}
voidCAboutDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CAboutDlg)
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CAboutDlg,CDialog)
//{{AFX_MSG_MAP(CAboutDlg)
//No message handlers
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
//////////////////////////////////////////////////////////////////////
//CProga27_01Dlg dialog
CProga27_01Dlg::CProga27_01Dlg(CWnd*pParent /*=NULL*/)
:CDialog(CProga27_01Dlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CProga27_01Dlg)
m_Vvod_16= _T("");
m_Vvod_2= _T("");
m_Vvod_8= _T("");
m_Vvod_10= 0;
//}}AFX_DATA_INIT
//Note that LoadIcon does not require a subsequent DestroyIcon in Win32
m_hIcon= AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}
voidCProga27_01Dlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CProga27_01Dlg)
DDX_Text(pDX,IDD_VVOD_16, m_Vvod_16);
DDX_Text(pDX,IDD_VVOD_2, m_Vvod_2);
DDX_Text(pDX,IDD_VVOD_8, m_Vvod_8);
DDX_Text(pDX,IDD_VVOD_10, m_Vvod_10);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CProga27_01Dlg,CDialog)
//{{AFX_MSG_MAP(CProga27_01Dlg)
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
ON_BN_CLICKED(IDC_BUTTON1,OnButton1)
ON_BN_CLICKED(IDC_BUTTON2,OnButton2)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
//////////////////////////////////////////////////////////////////////
//CProga27_01Dlg message handlers
BOOLCProga27_01Dlg::OnInitDialog()
{
CDialog::OnInitDialog();
//Add «About...» menu item to system menu.
//IDM_ABOUTBOX must be in the system command range.
ASSERT((IDM_ABOUTBOX& 0xFFF0) == IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX
CMenu*pSysMenu = GetSystemMenu(FALSE);
if(pSysMenu != NULL)
{
CStringstrAboutMenu;
strAboutMenu.LoadString(IDS_ABOUTBOX);
if(!strAboutMenu.IsEmpty())
{
pSysMenu->AppendMenu(MF_SEPARATOR);
pSysMenu->AppendMenu(MF_STRING,IDM_ABOUTBOX, strAboutMenu);
}
}
//Set the icon for this dialog. The framework does this automatically
//when the application's main window is not a dialog
SetIcon(m_hIcon,TRUE);// Set big icon
SetIcon(m_hIcon,FALSE);// Set small icon
//TODO: Add extra initialization here
returnTRUE; // return TRUE unless you set the focus to a control
}
voidCProga27_01Dlg::OnSysCommand(UINT nID, LPARAM lParam)
{
if((nID & 0xFFF0) == IDM_ABOUTBOX)
{
CAboutDlgdlgAbout;
dlgAbout.DoModal();
}
else
{
CDialog::OnSysCommand(nID,lParam);
}
}
//If you add a minimize button to your dialog, you will need the code below
//to draw the icon. For MFC applications using the document/view model,
//this is automatically done for you by the framework.
voidCProga27_01Dlg::OnPaint()
{
if(IsIconic())
{
CPaintDCdc(this); // device context for painting
SendMessage(WM_ICONERASEBKGND,(WPARAM) dc.GetSafeHdc(), 0);
//Center icon in client rectangle
intcxIcon = GetSystemMetrics(SM_CXICON);
intcyIcon = GetSystemMetrics(SM_CYICON);
CRectrect;
GetClientRect(&rect);
intx = (rect.Width() — cxIcon + 1) / 2;
inty = (rect.Height() — cyIcon + 1) / 2;
//Draw the icon
dc.DrawIcon(x,y, m_hIcon);
}
else
{
CDialog::OnPaint();
}
}
//The system calls this to obtain the cursor to display while the user drags
//the minimized window.
HCURSORCProga27_01Dlg::OnQueryDragIcon()
{
return(HCURSOR) m_hIcon;
}
voidCProga27_01Dlg::OnButton1()
{
//TODO: Add your control notification handler code here
UpdateData(TRUE);
intN;
charstr_2[50],str_8[50],str_16[50];
N=m_Vvod_10;
itoa(N,str_2,2);
m_Vvod_2=str_2;
itoa(N,str_8,8);
m_Vvod_8=str_8;
itoa(N,str_16,16);
m_Vvod_16=str_16;
UpdateData(FALSE);
}
voidCProga27_01Dlg::OnButton2()
{
//TODO: Add your control notification handler code here
UpdateData(TRUE);
charo=0;
m_Vvod_10=0;
m_Vvod_2=o;
m_Vvod_8=o;
m_Vvod_16=o;
UpdateData(FALSE);
}
Заголовниймодуль Proga27_01.h
//Proga27_01.h: main header file for the PROGA27_01 application
#if!defined(AFX_PROGA27_01_H__56B7EF51_81AC_4F93_9FF3_5017FF89C8DA__INCLUDED_)
#defineAFX_PROGA27_01_H__56B7EF51_81AC_4F93_9FF3_5017FF89C8DA__INCLUDED_
#if_MSC_VER > 1000
#pragmaonce
#endif//_MSC_VER > 1000
#ifndef__AFXWIN_H__
#errorinclude 'stdafx.h' before including this file for PCH
#endif
#include«resource.h»// main symbols
//////////////////////////////////////////////////////////////////////
//CProga27_01App:
//See Proga27_01.cpp for the implementation of this class
classCProga27_01App: public CWinApp
{
public:
CProga27_01App();
//Overrides
//ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CProga27_01App)
public:
virtualBOOL InitInstance();
//}}AFX_VIRTUAL
//Implementation
//{{AFX_MSG(CProga27_01App)
//NOTE — the ClassWizard will add and remove member functions here.
//DO NOT EDIT what you see in these blocks of generated code !
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
//////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
//Microsoft Visual C++ will insert additional declarationsimmediately before the previous line.
#endif//!defined(AFX_PROGA27_01_H__56B7EF51_81AC_4F93_9FF3_5017FF89C8DA__INCLUDED_)
Заголовниймодуль Proga27_01.cpp
//Proga27_01.cpp: Defines the class behaviors for the application.
#include«stdafx.h»
#include«Proga27_01.h»
#include«Proga27_01Dlg.h»
#ifdef_DEBUG
#definenew DEBUG_NEW
#undefTHIS_FILE
staticchar THIS_FILE[] = __FILE__;
#endif
//////////////////////////////////////////////////////////////////////
//CProga27_01App
BEGIN_MESSAGE_MAP(CProga27_01App,CWinApp)
//{{AFX_MSG_MAP(CProga27_01App)
//NOTE — the ClassWizard will add and remove mapping macros here.
//DO NOT EDIT what you see in these blocks of generated code!
//}}AFX_MSG
ON_COMMAND(ID_HELP,CWinApp::OnHelp)
END_MESSAGE_MAP()
//////////////////////////////////////////////////////////////////////
//CProga27_01App construction
CProga27_01App::CProga27_01App()
{
//TODO: add construction code here,
//Place all significant initialization in InitInstance
}
//////////////////////////////////////////////////////////////////////
//The one and only CProga27_01App object
CProga27_01ApptheApp;
//////////////////////////////////////////////////////////////////////
//CProga27_01App initialization
BOOLCProga27_01App::InitInstance()
{
AfxEnableControlContainer();
//Standard initialization
//If you are not using these features and wish to reduce the size
//of your final executable, you should remove from the following
//the specific initialization routines you do not need.
#ifdef_AFXDLL
Enable3dControls();//Call this when using MFC in a shared DLL
#else
Enable3dControlsStatic();//Call this when linking to MFC statically
#endif
CProga27_01Dlgdlg;
m_pMainWnd= &dlg;
intnResponse = dlg.DoModal();
if(nResponse == IDOK)
{
//TODO: Place code here to handle when the dialog is
//dismissed with OK
}
elseif (nResponse == IDCANCEL)
{
//TODO: Place code here to handle when the dialog is
//dismissed with Cancel
}
//Since the dialog has been closed, return FALSE so that we exit the
//application, rather than start the application's message pump.
returnFALSE;
}
/> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> />
Itoa(N,str_2,2) /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> />
Рисунок2.7 Блок-схема алгоритму до програми Proga27.срр
2.28 Знаходження раціональної кількості предметів
ПрограмаProga28.срр призначена длязнаходження числа коробок, в’язок та пар шкарпеток, які бажає купити клієнт,щоб купівля обійшлася дешевше, якщо пара шкарпеток коштує 105р., в’язка (12пар) – 1025р., а коробка (12 в’язок) – 11400р.
Вхіднідані: кількість селищ k(тип int)
Вихіднідані: номер селища і (тип int)
Блок-схемадо програми Proga28.сррпредставлена на рисунку 2.8
#include //Підключаємо бібліотеки iostream.h,
#include //та math.h
//Оголошуємо константи:
#define PARA 105 // 1 пара — 105р.
#define SV1025 // в’язка (12 пар) = 1025р.
#define KOR11400 // коробка (12 в’язок = 144 пары) = 11400р.
void main() //Оголошуємо головну функцію main()
{ //Оголошуємо змінні:
intN,n1,n2,n3,p=1,s=12,k=144,a,b,c,a1,b1,c1,W;
cout
cin>>N; //Вводимо кількість пар шкарпеток
if(N==1) //Умова: якщо кількість =1, то виводимо повідомлення
{ cout
goto p; //Переходимо до мітки р:
}
a=N/k; //
a1=N%k; //
//
b=a1/s; //
b1=a1%s; //Робимооперації над змінними
//
c=b1/p; //
c1=b%p; //
n1=a; // К-ть коробок
n2=b; // К-ть в’язок
n3=c; // К-ть пар
if(n3>=6) //Умова: якщокількість пар >6,
{ //виводимоповідомлення на екран
cout
cout
}
else //В іншому разі:
{
cout
cout
}
p:; //Міткар:
cout
cin>>W;//Вводимо зайву перемінну Wдля затримки екрану
} //Кінець функції main()
/> /> /> /> /> /> /> /> /> /> /> /> /> /> />
/>/>/>/> Ні Так/> /> /> /> /> /> /> /> /> /> /> /> />
a=N/k;
a1=N%k;
b=a1/s;
b1=a1%s;
c=b1/p;
c1=b%p;
n1=a;
n2=b;
n3=c; /> /> /> /> /> /> /> /> />
Goto p:; /> /> /> /> /> /> /> /> /> /> /> /> /> />
/> Ні Так/> /> /> /> /> /> /> />
p:; /> /> />
Рисунок2.8 Блок-схема алгоритму до програми Proga28.срр
2.29 Знаходження четвірок простих чисел
ПрограмаProga29.срр призначена длязнаходження четвірок простих чисел не перевищуючих N,якщо задане N>19
Вхіднідані: Число N (тип int)
Вихіднідані: четвірки простих чисел
#include//Підключаємобібліотеки iostream.h,
#include//таmath.h
voidmain() //Оголошуємо головну функцію main()
{
intN,i,kol; //Оголошуємо перемінні N,I,kolцілого типу
charstr1[10],str2[10],str3[10],str4[10];//та символьні матриці
cout19 »; //Даємо запит
cin>>N;//Вводимочисло >19
kol=0;//зміннійkol присвоюємо початковезначення 0
for(;N>0;)//Задаємоцикл
{
N=(N-N%10)/10;//Знаходимоцифри числа а
kol++;//Збільшуємолічильник kolна одиницю
}
if(kol==2) //Умова: якщо кількість дорівнює 2,виводимо:
{
cout
gotop; //Перехід до мітки р:
}
else//інакше– виводимо:
{
cout
str1[0]=1;//
str2[0]=1;//Першимелементам матриць присвоюємо значення 1
str3[0]=1;//
str4[0]=1;//
str1[kol-1]=1;//
str2[kol-1]=3;//
str3[kol-1]=7;//Останнім елементам матриць присвоюємо відповідні
str4[kol-1]=9;// значення
for(i=1;i
{
str1[i]=0;//
str2[i]=0;//Між першим та останнім елементами матриць всі елементи
str3[i]=0;//будуть дорівнювати 0
str4[i]=0;//
}
for(i=0;i
cout
cout
for(i=0;i
cout
cout
for(i=0;i
cout
cout
for(i=0;i
cout
cout
}
p:;//Міткар:
cout
cin>>W;//Вводимо зайву перемінну Wдля затримки екрану
} //Кінець функції main()
2.30 Обчислення числа Фібоначі
ПрограмаProga30.срр призначена дляобчислення числа Фібоначі з номером N
Вхіднідані: число n (тип int)
Вихіднідані: масиви чисел Фібоначі (тип double)
Блок-схемадо програми Proga30.сррпредставлена на рисунку 2.9
#include//Підключаємобібліотеку iostream.h
voidmain() //Оголошуємо головну функцію main()
{
inti,n,W; //Оголошуємо перемінні I,n,Wцілого типу
doublea[50]; //та масив а типу (double)
cout
cout
cin>>n;//Вводимочисло n
a[1]=1;//Першомута другому елементам матриці а
a[2]=1;//присвоюємо значення 1
for(i=3;i
a[i]=a[i-1]+a[i-2];// і-ий елемент матриці а дорівнює:
for(i=1;i
cout
cout
cin>>W;//Вводимо зайву перемінну Wдля затримки екрану
} //Кінець функції main()/> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> />
Рисунок2.9 Блок-схема алгоритму до програми Proga30.срр
2.31 Видалення з рядку певних символів
ПрограмаProga1_1.сррпризначена для видалення з рядку S1усіх символів, які зустрічаються в рядку S2
Вхіднідані: рядок str1(тип char)
рядокstr2 (тип char)
Вихіднідані: Змінений рядок str1(тип char)
#include //Підключаємо бібліотеки iostream.h,
#include //та math.h
charfunc(char str3[10],char str4[10])//Оголошуємо функцію,яка по
{//заданимрядкам S1 таS2,
for(inti=0;str3[i]+='\0';i++) //видаляє з рядка S1всі символи
for(intj=0;str4[j]+='\0';j++) //які зустрічаються в рядку S2
{//
if(str3[i]==str4[j])//
cout
elsecout
}//
return0; //
}//
voidmain() //Оголошуємоголовну функцію main()
{
intW; //Оголошуємо перемінну Wцілого типа,
charstr1[10]; //матриці str1таstr2символьного типу
charstr2[10];
cout
cin>>str1;//Вводимоперший рядок
cout
cin>>str2;//Вводимодругий рядок
func(str1,str2);//Викликаємофункцію func
cout
cout
cin>>W;//Вводимо зайву перемінну Wдля затримки екрану
} //Кінець функції main()
2.32 Сума двох рядків
ПрограмаProga2_2.сррпризначена для формування рядка-суми двох рядків, якщо подані два символьнихрядка, які складаються тільки з цифр.
Вхіднідані: рядок STRING1(тип char)
рядокSTRING2 (тип char)
Вихіднідані: рядок STRING3(тип char)
#include//Підключаємобібліотеки iostream.h,
#include//таmath.h
voidmain() //Оголошуємоголовну функцію main()
{
charSTRING1[50]={0};//Оголошуємосимвольну матрицю STRING1,
charSTRING2[50]={0};//матрицю STRING2,
inti,N1,N2; //та змінні I,N1,N2
cout
cin>>N1;//Вводимокількість елементів першого рядка
cout
for(i=0;i
cin>>STRING1[i];//Вводимоцифри першого рядка
cout
cin>>N2;//Вводимо кількість елементів другого рядка
cout
for(i=0;i
cin>>STRING2[i];//Вводимо цифри другого рядка
doublelong l1=atol(STRING1); //Змінній l1присвоюємо функцію atol
//якаобертає рядок STRING1 наодне число типу double long
doublelong l2=atol(STRING2); //Змінній l2присвоюємо функцію atol
doublelong l3=l1+l2; //Змінній l3присвоюємо суму l1та l2
cout
cout
cin>>W;//Вводимо зайву перемінну Wдля затримки екрану
} //Кінець функції main()
2.33 Редагування тексту
ПрограмаProga33.сррпризначена для редагування тексту так, щоб між словами був рівно один пробіл, аміж реченнями рівно два
Вхіднідані: рядок символів S(тип char)
Вихіднідані: відредагований рядок S(тип Char)
Блок-схемадо програми Proga33.сррпредставлена на рисунку 2.10
#include//Підключаємобібліотеки conio.h
#include//та stdio.h
voidmain() //оголошуємо головну функцію main()
{
charS[80],i; //оголошуємо символьний масив з 80елементів та
//символьну перемінну i
printf(«Введітьваш рядок. В кінці поставте @:\n»); //Вводимо рядок,
gets(S);//який закінчується на @
i=0;//Задаємопочаткове значення параметра i
while((S[i]!='@'))
{
if(S[i]=='.') //Задаємо умову знаходження крапки врядку
{//якщокрапка знайдена,
printf("."); //виводимо крапу з двома пробілами
}
elseprintf("%c",S[i]); //інакше виводимоелемент на своєму місці
i+=1;//Збільшуємолічильник на одиницю
}
printf("\n");//Переводимокурсор на новий рядок
getch();//Затримуємоекран
}//Кінецьфункції main()/> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> />
/>/>/>/>/> НіТак/> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> />
Рисунок2.10 Блок-схема алгоритму до програми Proga33.срр
2.34 Копіювання одного рядка в інший
ПрограмаProga4_4.сррпризначена копіювання одного тексту в інший так, щоб літери “новий рядок” та“табуляція” перетворювалися у видимі послідовності літер \nта\t
Вхіднідані: рядок символів Str1(тип char)
рядоксимволів Str2(тип char)
Вихіднідані: новий рядок str3(тип Char)
#include//Підключаємобібліотеки conio.h,
#include//stdio.h
#include//та string.h
charfunc(char str3[180],char str4[180]) //Оголошуємофункцію func,
{//якапо заданим двом рядкам
inti; char str5[180]; //копіює другий рядок в кінець
//першогота перетворює літери
strncat(str3,str4,80);//”новийрядок” та “табуляція”
printf("\n");//увидимі послідовності літер
//\nта\t
i=0;
while(str3[i]!=EOF)
{
if(str3[i]=='\n')
printf("\n");
elseif (str3[i]=='\t')
printf("\t");
elseprintf("%c",str3[i]);
i+=1;
}
return0;
}
voidmain() //Оголошуємо головну функцію main()
{
charstr1[180],str2[180] //Оголошуємо дві символьних матриці
printf(«Введітьваш перший рядок:\n»); //Даємозапит
gets(str1);//Вводимоперший рядок символів
printf(«Введітьваш другий рядок:\n»); //Даємозапит
gets(str2);//Вводимодругий рядок символів
func(str1,str2);//Викликаємо функцію func
printf("\n");//Переводимокурсор на новий рядок
getch();//Затримуємоекран
}//Кінецьфункції main()
Перелікпосилань
1. ГлушаковС.В., Коваль А.В., Смирнов С.В. Язык программирования С++. – Харьков: «Фолио»,Ростов-на-Дону: «Феникс», 2001.
2. Керниган Б. Ричи Д. Языкпрограммирования Си – М. Финансы и статистика, 1992. – 272 с.
3. Хэфилд Ричард,Кирби Лоуренс и др. Искусство программирования на Си. Фундаментальныеалгоритмы, структуры данных и примеры приложений. Энциклопедия программистов«ДиаСофт». 2001. – 736 с.