Програмний продукт Pacific З Compiler

Самостійне вивчення основ програмування мовою Си++ з використанням програмного продукту Pacific З Compiler. Програми по знаходженню сум чисел, виводу матриці, переводу числа до різних систем счислення, редагуванню тексту та видалення пробілів з рядка.

Рубрика Программирование, компьютеры и кибернетика
Вид отчет по практике
Язык русский
Дата добавления 01.04.2011
Размер файла 121,3 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

МІНІСТЕРСТВО ОСВІТИ ТА НАУКИ УКРАЇНИ

ДОНБАСЬКА ДЕРЖАВНА МАШИНОБУДІВНА АКАДЕМІЯ

КАФЕДРА АВТОМАТИЗАЦІЇ ВИРОБНИЧИХ ПРОЦЕСІВ

Звіт про практику

Краматорськ 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 Вивід квадратної матриці М<20

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 Studio 6.0 - інтегроване середовище для швидкої розробки додатків на базі мов Visual C++ 6.0 і Visual Basic 6.0.

MathCAD - система автоматизації проектування науково-технічних задач.

Компас - система автоматизації підготовки керуючих програм для верстатів з числовим програмним керуванням (ЧПК);

Крім того, на окремих робочих станціях встановлені:

Rational Rose 2000 - засіб об'єктно-орієнтованого аналізу і проектування технічних, переважно програмних, систем на базі нотації UML (Unified Model Language - уніфікованої мови моделювання) з можливістю генерації вихідного коду мовою Visual Basic 6.0.

BPWin і Erwin - засоби, що дозволяють автоматизувати етапи розробки програмного забезпечення, інструменти CASE (Computer-Aided Software/System Engineering).

Visio 5 - двовимірна графічна САПР для підготовки науково-технічних документів - схем, алгоритмів, карт і т.п., сумісна з текстовим процесором Word.

PROMT 2000 - автоматичний переклад науково-технічних текстів з англійської, німецької й ін. мов, переважно по тематиці, зв'язаної з обчислювальною технікою і програмуванням.

Передбачається встановлювання пакета Microsoft Visual Studio .NET 7, призначеного для розробки мобільних і переносних продуктів за допомогою мов програмування С# (Си шарп) і 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-програмуванню, програмуванню на мовах Си і Visual Basic і ін. перспективним напрямкам. Для публікації документів у 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> //Підключаємо бібліотеки 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++)

return result*=h;

}

void main() //Оголошуємо головну функцію main()

{

int N,i,W; //Оголошуємо перемінні N,і,W цілого типу

double х,S; //та перемінні х та S типу double

cout<<"Введіть Х та N через ENTER:"<<"\n"; //Виводимо запрос на екран

cout<<"x=";

cin>>x; //Вводимо Х

cout<<"N=";

cin>>N; //Вводимо N

S=0; //Обнулюємо початкове значення суми S

for (i=1;i<=N;i++) //Задаємо цикл для проходження значень

//паматра і від 1 до значення N

S=S+((pow(-1,(i+1))*pow(x,2*i)/fact(i,N))); //Знаходимо S

cout<<"\n"<<"Відповідь: S="<<S<<"\n"<<"\t"; //Виводимо відповідь

cout<<"\n"<<"Dlya vihoda vvedite EXIT:"<<"\n"; //Даємо запит

cin>>W; //Вводимо зайву перемінну W для затримки екрану

} //Кінець функції main()

2.2 Визначення добутку множників

Програма Proga2.срр призначена для знаходження добутку перших N множників l/2*3/4*5/6*... ., якщо задане натуральне число N

Вхідні дані: параметр N (тип int)

Вихідні дані: добуток множників P (тип double)

#include<iostream.h> //Підключаємо бібліотеку iostream.h

void main () //Оголошуємо головну функцію main()

{

int N,W; //Оголошуємо перемінні N та W цілого типу

double i,P=1; //та перемінні і та Р типу double,

//добутку Р задаємо початкове значення 1

cout<<"Введіть N:"<<"\n"; //Даємо запрос на введення числа N

r:; //Ставимо мітку r

cout<<"N=";

cin>>N; //Вводимо N

if (N==0) //Задаємо умову: при N=0 програма

{ //виводить помилку та пропонує ввести

cout<<"Error! Введіть інше число"<<"\n"; //інше значення N,

goto r; //і відбувається перехід до мітки r

}

else if (N==1) //при N=1 програма видає відповідь 0.5,

{

cout<<"P=0.5"<<"\n"; //тому що перший член послідовності=1/2

}

else //Якщо N не дорівнює ні 0, ні 1,

{

i=2; //задаємо значення параметра і=2

do

{

Р*=(((2*i)-1)/i); //Задаємо розрахункову формулу

i+=2; //знаходження Р та зміну параметра і на 2

}

while (i!=(2*N)); //Програма буде виконуватися доки і не

//стане дорівнювати значенню 2*N.

cout<<"P="<<P<<"\n"; //Після цього виведеться відповідь

}

cout<<"\n"<<"Для виходу введіть EXIT:"<<"\n"; //Даємо запит

cin>>W; //Вводимо зайву перемінну W для затримки екрану

} //Кінець функції main()

2.3 Визначення добутку множників

Програма Proga3.срр призначена для знаходження добутку суми одного рядка на добуток іншого , якщо задане натуральне число N

Вхідні дані: параметр N (тип int)

Вихідні дані: добуток множників S (тип double)

#include<iostream.h> //Підключаємо бібліотеки iostream.h

#include <math.h> //та math.h

void main() //Оголошуємо головну функцію main()

{

int N,k,m,W; //Оголошуємо перемінні N,k,m,W цілого типу

double S1,P1,S; //та перемінні S1,P1 та S типу double

cout<<"Введіть N:"<<"\n"<<"N="; //Даємо запрос на введення числа N

cin>>N; //Вводимо N

S1=0; //Обнулюємо початкове значення суми S1

for(k=1;k<=N;k++) //Задаємо цикл для проходження значень

{ //параметра k від 1 до значення N

S1+=pow(-1,k+1); //Знаходимо S1

}

N=k; //Перемінній N присвоюємо значення перемінної k

P1=1; //Добутку P1 присвоюємо початкове значення 1

for(m=1;m<2*k;m++) // Задаємо цикл для проходження значень

// параметра m від 1 до значення 2*k

P1=P1*cos((m+1)/2*k); //Знаходимо Р1

S=S1*P1; //Перемінній S присвоюємо добуток перемінних S1 та P1

cout<<"Відповідь: S="<<S<<"\n"; //Виводимо відповідь

cout<<"Для виходу введіть EXIT:"<<"\n"; //Даємо запит

cin>>W; //Вводимо зайву перемінну W для затримки екрану

} //Кінець функції main()

2.4 Визначення добутку рядка

Програма Proga4.срр призначена для знаходження добутку рядка

,

якщо задане натуральне число N

Вхідні дані: параметр N (тип int)

Вихідні дані: добуток рядка P (тип double)

#include<iostream.h> //Підключаємо бібліотеки iostream.h

#include <math.h> //та math.h

void main() //Оголошуємо головну функцію main()

{

int N,i,W; //Оголошуємо перемінні N,і,W цілого типу

double P; //та перемінну P типу double

cout<<"Введіть N:"<<"\n"; //Даємо запрос на введення числа N

cout<<"N=";

cin>>N; //Вводимо N

P=1; //Добутку P присвоюємо початкове значення 1

for (i=1;i<=N;i++) // Задаємо цикл для проходження значень

//параметра і від 1 до значення N

P=P*(1+1/sqrt(sqrt(i))); //Знаходимо Р

cout<<"Відповідь: P=" <<P<<"\n"; //Виводимо відповідь

cout<<"Для виходу введіть EXIT:"<<"\n"; //Даємо запит

cin>>W; //Вводимо зайву перемінну W для затримки екрану

} //Кінець функції main()

2.5 Визначення суми рядка

Програма Proga5.срр призначена для знаходження суми рядка

,

где , якщо задане натуральне число N

Вхідні дані: параметр N (тип int)

Вихідні дані: сума рядка S (тип double)

Блок-схема до програми Proga5.срр представлена на рисунку 2.1

#include<iostream.h> //Підключаємо бібліотеки iostream.h

#include<math.h> //та math.h

void main() //Оголошуємо головну функцію main()

{

int N,i,a,d,W; //Оголошуємо перемінні N,і,а,d,W цілого типу

double S; //та перемінну S типу double

cout<<"Введіть N:"<<"\n"<<"N="; //Даємо запрос на введення числа N

cin>>N; //Вводимо N

S=0; //Обнулюємо початкове значення суми S

for(i=1;i<=N;i++) // Задаємо цикл для проходження значень

{ // параметра і від 1 до значення N

d=i%3; //d присвоюємо залишкок від ділення перемінної на 3

if(d==0) a=i/3; //При умові d=0 перемінній “а” присвоюємо і/3

else a=i/(i-3); //Інакше - паремінній а присвоюємо і/(і-3)

S+=a*a; //В кінці всього циклу до суми S додаємо (а*а)

}

cout<<"Відповідь S="<<S<<"\n"; //Виводимо відповідь

cout<<"\n"<<"Для виходу введіть EXIT:"<<"\n"; //Даємо запит

cin>>W; //Вводимо зайву перемінну W для затримки екрану

} //Кінець функції main()

Ні Так

Рисунок 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++) // Задаємо цикл для проходження значень

{ //параметра і від 0 до N-1, кроком 1

if ((STRING1[i]=='A')||(STRING1[i]=='a')) //Якщо елемент

cout<<" "; //масива =”А” або “а”, пропускаємо його,

else cout<<STRING[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";

for (j=0;j<=1;j++) //Задаємо цикл для проходження значень

{ //параметра і від 0 до 1

cout<<"Місяць:";

cin>>MESROJD[j];//Вводимо кожен раз по одній цифрі місяця народж.

}

//Умова: якщо буде введений 13 місяць і більше

if ((MESROJD[0]>=1)&&(MESROJD[1]>=3))

{

cout<<" В 1 році 12 місяців. Спробуйте ще раз."<<"\n";//програма

goto r; //виведе повідомлення і перейде до мітки r:

}

s:; //мітка s:

cout<<"Введіть номер вашого дня народження через ENTER:"<<"\n";

for (k=0;k<=1;k++) //Задаємо цикл для проходження значень

{ //параметра і від 0 до 1

cout<<"День:";

cin>>DENROJD[k]; //Вводимо кожен раз по одній цифрі дня народж.

}

//Умова: якщо буде введений 32 день місяця і більше

if ((DENROJD[0]>=3)&&(DENROJD[1]>=2))

{

cout<<" В 1 місяці 31 або 30 днів. Спробуйте ще раз."<<"\n";

goto s; //програма виведе повідомлення і перейде до мітки s:

}

Sgod=0; //Обнуляємо значення перемінної Sgod

for (i=0;i<=3;i++) //Задаємо цикл для проходження значень

//параметра і від 0 до 3

Sgod+=GODROJD[i];//До значення перемінної Sgod додаємо значення

//і-го елементу масива GODROJD

Smes=0; //Обнуляємо значення перемінної Smes

for (j=0;j<=1;j++) //Задаємо цикл для проходження значень

//параметра і від 0 до 1

Smes+=MESROJD[j];//До значення перемінної Smes додаємо значення

//і-го елементу масива MESROJD

Sden=0; //Обнуляємо значення перемінної Sden

for (k=0;k<=1;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<<"Ваш день народження дуже щасливий"<<"\n";

else if ((G==M)||(M==D)||(G==D))//Якщо співпадають тільки будь-які

//дві змінні, то програма виведе:

cout<<" Ваш день народження просто щасливий"<<"\n";

//Якщо співпадань не має, то програма виведе:

else cout<<" Ваш день народження звичайний"<<"\n

cout<<"Для виходу введіть EXIT:"<<"\n";//Даємо запрос

cin>>W; //Вводимо зайву перемінну W для затримки екрану

return 0; //Функція вертає 0

} //Кінець функції main()

2.12 Знаходження кількості слів “no”

Програма Proga12.срр призначена для знаходження кількості слів “no”, якщо слова у введеному тексті розділяються пробілами

Вхідні дані: параметр і (символьного типу)

Вихідні дані: кількість kol (цілого типу)

Блок-схема до програми Proga12.срр представлена на рисунку 2.3

#include<stdio.h> //Підключаємо бібліотеки stdio.h

#include<conio.h> //та conio.h

oid main() //Оголошуємо головну функцію main()

{

int kol;//Оголошуємо перемінну kol цілого типу,

char i; //та перемінну і символьного типу

//Вводимо рядок в кінці якого просимо поставити @

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()

Ні Так

Рисунок 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> //Підключаємо бібліотеки iostream.h

#include<math.h> //та math.h

void main() //Оголошуємо головну функцію main()

{

float A1,B1,C1,A,B,C,x,y,W;//оголошуємо перемінні

// A1,B1,C1,A,B,C,x,y,W типу float

cout<<"Введіть A1 "<<"=";

cin>>A1; //Вводимо значення перемінної А1

cout<<"Введіть B1 "<<"=";

cin>>B1; //Вводимо значення перемінної В1

cout<<" Введіть C1 "<<"=";

cin>>C1; //Вводимо значення перемінної С1

cout<<" Введіть A "<<"=";

cin>>A; //Вводимо значення перемінної А

cout<<" Введіть B "<<"=";

cin>>B; //Вводимо значення перемінної В

cout<<" Введіть C "<<"=";

cin>>C; //Вводимо значення перемінної С

if((A1==A)&&(B1==B)) //Умова: якщо значення перемінної А1=А та

//значення перемінної В1=В

cout<<"Прямі паралельні"<<"\n";//Виводимо, що прямі паралельні

else //Инакше

{

x=((C1-B1)/((A1*C)/(A*C-A*B1+A1*B)))/A1;//Знаходимо х та у

y=((A1*C)/(A*C-A*B1+A1*B)); //по відповідних формулах

//Ввиводимо координати точти перетину двох заданих прямих

cout<<"Прямі перетинаються в точці S("<<x<<";"<<y<<")"<<"\n";

}

cout<<"\n"<<"Для виходу введіть EXIT:"<<"\n"; //Даємо запит

cin>>W; //Вводимо зайву перемінну W для затримки екрану

} //Кінець функції main()

Ні Так

Рисунок 2.4 Блок-схема алгоритму до програми Proga13.срр

2.14 Знаходження певних тризначних чисел

Програма Proga14.срр призначена для знаходження всіх тризначних чисел які можна представити різницею між квадратом числа, яке утворюється першими двома цифрами, та квадратом третьої цифри

Вхідні дані: всі тризначні числа

Вихідні дані: певні тризначні числа

Блок-схема до програми Proga14.срр представлена на рисунку 2.5

#include<iostream.h> //Підключаємо бібліотеки iostream.h

#include<math.h> //та math.h

void main() //оголошуємо головну функцію main()

{

int W,i=100,a=0,b=0; //Оголошуємо перемінні W,I,a,b цілого типу //Перемінній “і” присвоюємо початкове значення 100, перемінним

//“а” та “b” - 0

cout<<"Ось ваші числа:"<<"\n"; //Виводимо повідомлення на екран

for(i=100;i<1000;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)<1000))//Умова: отримані числа повинні бути

//тризначними

cout<<i<<"\n"; //Виводимо ці числа на екран

}

cout<<"Для виходу введіть EXIT:"<<"\n;//Даємо запит

cin>>W; //Вводимо зайву перемінну W для затримки екрану

} //Кінець функції main()

Ні Так

Рисунок 2.5 Блок-схема алгоритму до програми Proga14.срр

2.15 Знаходження певного тризначного числа

Програма Proga15.срр призначена для знаходження елемента масива, значення якого найбільш наближене до якогось цілого числа

Вхідні дані: масиви чисел В,С,С1 (тип int)

параметр М (тип int)

Вихідні дані: певний елемент масива В

#include<iostream.h> //Підключаємо бібліотеку iostream.h

void main() //оголошуємо головну функцію main()

{

int N,W,i,M,amin; //Оголошуємо перемінні N,W,i,M,amin цілого типу

int B[100]; //Оголошуємо массив В зі 101 елементу типу int

int C[100]; //Оголошуємо массив С зі 101 елементу типу int

int C1[100]; //Оголошуємо массив С1 зі 101 елементу типу int

cout<<"Скількі елементі в буде у вашому масиві: "; //Робимо запит

cin>>N; //Вводимо кількість елементів масиву

cout<<"Введіть елементи вашого масиву через ENTER: \n";

for (i=0;i<N;i++) //Вводимо елементи

cin>>B[i]; //масива В

cout<<"Введіть ваше число: ";

cin>>M; //Вводимо довільне число М

for (i=0;i<N;i++)

C[i]=(B[i]-M); //Елементам масива С присвоюємо елементи масива

// В мінус значення числа М

cout<<"\n"; //Переводимо курсор на новий рядок

for (i=0;i<N;i++) //Задаємо цикл для проходження значень

{ //параметра і від 0 до N кроком 1

if (C[i]<0) C1[i]=C[i]*(-1); //Умова: якщо отримані елементи

//<0, то домножаємо їх на (-1)

else C1[i]=C[i]; //Инакше, залишаємо без змін

}

cout<<"\n"; //Переводимо курсор на новий рядок

amin=C1[0]; //Переменній amin присвоюємо значення нульового

// елемента масива С1

for (i=1;i<N;i++) //Задаємо цикл для проходження значень

{/параметра і від 1 до N кроком 1

if (C1[i]<amin) //За допомогою зрівнювання чисел в масиві С1

amin=C1[i]; //знаходимо мінімальний елемент масива

}

cout<<"Елемент масива="<<(M-amin)<<"\n"; //Виводимо відповідь

cout<<"\n"<<"Для виходу введіть EXIT:"<<"\n"; //Даємо запит

cin>>W; //Вводимо зайву перемінну W для затримки екрану

} //Кінець функції main()

2.16 Вивід квадратної матриці М<20

Програма Proga16.срр призначена для виводу матриці розмірності M<20 виду

Вхідні дані: параметр n (тип int)

Вихідні дані: матриця заданої розмірності

#include<iostream.h> //Підключаємо бібліотеку 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<<"Введіть розмірність вашого масива (<20):";//Робимо запит

cin>>n; //Вводимо розмірність квадратної матриці А

s=0;//Перемінній s присвоюємо початкове значення - 0

k=2; //Перемінній k присвоюємо початкове значення - 2

for (i=0;i<n;i++) //Задаємо цикл для проходження значень

{ //параметра і від 0 до n кроком 1

s+=1; //До значення перемінної s додаємо одиницю

for (j=0;j<n;j++) //Задаємо цикл для проходження значень

{ //параметра j від 0 до n кроком 1

if (i==j) //Умова: якщо значення перемінної і дорівнює j,

{

A[i][j]=1; //заданому елементу масива А присвоюємо значення 1

for (m=1,h=2;m<n,h<n;m++,h++) //Задаємо цикл

A[i+m][j]=h;//Заданому елементу масива А присвоюємо значення h

}

else //В іншому випадку

{

A[i][0]=s; //Заданому елементу масива А присвоюємо значення s

}

cout<<A[i][j]<<" "; //Виводимо елементи масива через пробіл

}

cout<<"\n";//Переводимо курсор на новий рядок

k+=1; //До значення перемінної k додаємо одиницю

}

cout<<"\n"; //Переводимо курсор на новий рядок

} //Кінець функції main()

2.17 Вивід матриці В(М;N)

Програма Proga17.срр призначена для виводу матриці В(M;N), елементами якої є випадкові числа, рівномірно розташовані в інтервалі (-5;7). Переставляючи її рядки та стовпці, домогтися того, щоб найбільший елемент матриці виявився в правому нижньому куті

Вхідні дані: масив чисел В (тип int)

параметри М,N (тип int)

Вихідні дані: матриця В певного вигляду

#include<iostream.h> //Підключаємо бібліотеки iostream.h,

#include<math.h> //math.h

#include<stdlib.h> // та stdlib.h

void main() //оголошуємо головну функцію main()

{

int B[100][100]; //Оголошуємо масив В типу int, та перемінні

int i,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<<"Ось ваша матриця: "<<"\n\n"; //Виводимо повідомлення

for(i=0; i<M; i++) //Задаємо цикл для проходження значень

{ //параметра і від 0 до М кроком 1

for(j=0;j<N;j++) //Задаємо цикл для проходження значень

{ //параметра j від 0 до N кроком 1

B[i][j]=(rand()%13)-5; //Заповнюємо масив В випадковими

cout<<B[i][j]<<" "; //числами в інтервалі (-5;7)

}

cout<<"\n"; //Переводимо курсор на новий рядок

}

for(i=0;i<M;i++) //Задаємо цикл для проходження значень

{ //параметра і від 0 до М кроком 1

for(j=0;j<N;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<<"\n"<<"max. елемент="<<max<<"\n\n";//Виводимо найбільший елемент

//матриці

for(i=0;i<M;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<N;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<<"Змінена матриця:"<<"\n\n"; //Виводимо повідомлення

for(i=0;i<M;i++) //Задаємо цикл для проходження значень

{ //параметра і від 0 до М кроком 1

for(j=0;j<N;j++) //Задаємо цикл для проходження значень

{ //параметра j від 0 до N кроком 1

cout<<B[i][j]<<" "; //Виводимо елементи матриці В

}

cout<<"\n"; //Переводимо курсор на новий рядок

}

cout<<"\n"<<"Для виходу введіть EXIT:"<<"\n"; //Даємо запит

cin>>W; //Вводимо зайву перемінну W для затримки екрану

} //Кінець функції main()

2.18 Знаходження найбільшого з від'ємних чисел матриці

Програма Proga18.срр призначена для знаходження найбільшого з від'ємних чисел матриці А(85), рівномірно розподілених в інтервалі [-20;10]

Вхідні дані: масив чисел А (тип int)

Вихідні дані: параметр min (тип int)

#include<iostream.h> //Підключаємо бібліотеки iostream.h,

#include<stdlib.h> //та stdlib.h

void main() //оголошуємо головну функцію main()

{

int A[85], i,min=10, s,W;//Оголошуємо масив цілих чисел А, та

//перемінні і,s,W,min типу int

s=0; //Перемінній s присвоюємо початкове значення 0

for(i=0; i<85; i++) //Задаємо цикл для проходження значень

{ //параметра і від 0 до 85 кроком 1

A[i]=(rand()%31)-20;//Заповнюємо матрицю А випадковими числами

cout<<A[i]<<" "; //Виводимо елементи матриці А на екран

}

cout<<'\n'; //Переводимо курсор на новий рядок

for(i=0;i<85;i++) //Задаємо цикл для проходження значень

{ //параметра і від 0 до 85 кроком 1

if(A[i]<0) //Умова: якщо елемент матриці А менше 0,

{ if (A[i]<min) min=A[i];} //та якщо він менше значення min,

} //перемінній min присвоюємо значення і-го елемента матриці А

cout<<"\n"<<"max="<<min<<"\n"; //Виводимо відповідь

cout<<"\n"<<"Для виходу введіть EXIT:"<<"\n"; //Даємо запит

cin>>W; //Вводимо зайву перемінну W для затримки екрану

} //Кінець функції main()

2.19 Знаходження найбільшого значення напруги в електромережі

Програма Proga19.срр призначена для знаходження найбільшого значення напруги в електромережі в інтервалі (20,6)годин та часу, якщо протягом доби кожну годину були проведені 24 заміра напруги

Вхідні дані: масив чисел А (тип int)

Вихідні дані: параметр mахМ (тип int)

#include<iostream.h> //Підключаємо бібліотеки iostream.h,

#include<math.h> //math.h та

#include<stdlib.h> //stdlib.h

void main() //оголошуємо головну функцію main()

{

int maxN,i,maxM,N,M,W; //Оголошуємо перемінні maxN,i,maxM,N,M,W

int A[23]={0}; // типу int, та масив цілих чисел А

for(i=0;i<=23;i++) //Заповнюємо масив А випадковими числами

A[i]=(rand()%450)-200; //в інтервалі (200;250)

maxN=200; //Переміннії maxN присвоюємо початкове значення 200

for(i=0;i<6;i++) //Задаємо цикл

if(A[i]>=maxN) //Умова: якщо елемент масива А > або = maxN,

{

maxN=A[i]; //перемінній maxN присвоюємо значення і-го елементу А

N=(i+1); //Перемінній N присвоюємо значення (і+1)

}

for(i=19;i<24;i++) //Задаємо цикл

if(A[i]>=maxM) //Умова: якщо елемент масива А > або = maxМ,

{

maxM=A[i]; //перемінній maxМ присвоюємо значення і-го елементу А

M=(i+1); //Перемінній М присвоюємо значення (і+1)

}

if(maxN>=maxM)//Умова: якщо значення maxN > значення maxN, виводимо

cout<<"Напруга="<<maxN<<" вольт о "<<N<<" годині ранку"<<"\n";

else cout<<"Напруга="<<maxM<<"вольт о"<<M<<"годині вечора"<<"\n";

cout<<"\n"<<"Для виходу введіть EXIT:"<<"\n"; //Даємо запит

cin>>W; //Вводимо зайву перемінну W для затримки екрану

} //Кінець функції main()

2.20 Знаходження першого члену послідовності

Програма Proga20.срр призначена для знаходження першого члену послідовності , n = 1, 2, … , який не належить відрізку [А,В], якщо задані числа А<0 та B>0 типу double

Вхідні дані: параметри А та В (тип double)

Вихідні дані: параметр і (тип int)

#include<iostream.h> //Підключаємо бібліотеки iostream.h

#include<math.h> //та math.h

void main() //оголошуємо головну функцію main()

{

int N=100,i; //Оголошуємо перемінні N=100,і цілого типу

double S,a,A,B,W; //та перемінні S,a,A,B,W типу double

cout<<"Введіть A<0: ";//Вводимо запит

cin>>A; //вводимо число А<0

cout<<"Введіть B>0: ";//Вводимо запит

cin>>B; //вводимо число B>0

S=0; //Перемінній s присвоюємо початкове значення 0

for(i=1;i<=N;i++) //Задаємо цикл для проходження значень

{ //параметра і від 0 до N кроком 1

S+=(pow(-1,i))*((sqrt(2)+i));//Знаходимо s за вказаною формулою

a=S; //Перемінній а присвоюємо значення перемінної s

if((a<=A)||(a>=B)) //Умова: якщо значення перемінної а < або =

{//значенню перемінної А, та > або = значенню перемінної В, виводимо

cout<<i<<" член послідовності= "<<a<<" не належить відрізку [A;B]"\n;

goto p; //Звертаємося до мітки р

}

else ;} //В іншому разі нічого не відбувається

p:; //Мітка р:

cout<<"\n"<<"Для виходу введіть EXIT:"<<"\n";//Даємо запит

cin>>W; //Вводимо зайву перемінну W для затримки екрану

} //Кінець функції main()

2.21 Видалення пробілів з рядка

Програма Proga21.срр призначена для стискання рядка шляхом видалення пробілів з тексту

Вхідні дані: рядок символів S (тип char)

Вихідні дані: стиснутий рядок S (тип Char)

Блок-схема до програми Proga21.срр представлена на рисунку 2.6

#include<conio.h> //Підключаємо бібліотеки conio.h

#include<stdio.h> //та stdio.h

void main() //оголошуємо головну функцію main()

{

char S[80],i; //оголошуємо символьний масив з 80 елементів та

// символьну перемінну i

printf("Введіть ваш рядок. В кінці поставте @:\n");//Вводимо рядок,

gets(S); //який закінчується на @

i=0; //Задаємо початкове значення параметра i

while((S[i]!='@'))

{

if (S[i]==' ') //Задаємо умову знаходження пробіла в рядку

printf("%*",S[i+1]); //якщо пробіл знайдений, пропускаємо його

//та виводимо наступні елементи попорядку

else printf("%c",S[i]); //якщо пробіла немає, виводимо даний // елемент на свойому місці

i+=1; //Збільшуємо лічильник на одиницю

}

printf("\n"); //Переводимо курсор на новий рядок

getch(); //Затримуємо екран

} //Кінець функції main()

Ні Так

Рисунок 2.6 Блок-схема алгоритму до програми Proga21.срр

2.22 Знаходження кількості вказаних символів

Програма Proga22.срр призначена для знаходження кількості вказаних символів в заданому рядку

Вхідні дані: рядок символів STRING (тип char)

вказаний символ N (тип char)

Вихідні дані: кількість вказаних символів g(тип int)

#include<iostream.h> //Підключаємо бібліотеку iostream.h

char kol(char S[100],char a) //Оголошуємо функцию kol,яка по заданому

{ //рядку S та вказаному символу “а”

int h,result=0; // знаходить кількість символів “а” , які

//зустрічаються в рядку S

for (h=0;S[h]+='\0';h++)

{if (S[h]==a) result+=1;}

return result;

}

void main() //Оголошуємо головну функцію main()

{

int W,g; //Оголошуємо перемінні W,g цілого типу,

char STRING[100]={0}; //символьний масив зі 100 елементів та

char N; //перемінну N символьного типу

cout<<"Введіть ваш рядок без пробілів: \n";//Даємо запит

cin>>STRING; //Вводимо рядок елементів

cout<<"Введіть ваш символ: "; //Даємо запит

cin>>N; //Вводимо довільний символ

g=kol(STRING,N); //Перемінній g присвоюємо функцію kol, яка лічить

//скільки разів заданий символ зустрівся в нашому рядку

cout<<"Відповідь: "<<g<<"\n"; //Виводимо відповідь на екран

cout<<"\n"<<"Для виходу введіть EXIT:"<<"\n"; //Даємо запит

cin>>W; //Вводимо зайву перемінну W для затримки екрану

} //Кінець функції main()

2.23 Змінення матриці певним чином

Програма Proga23.срр призначена для знаходження в матриці мінімального за модулем елемента та заміщення ним всіх елементів з непарними номерами

Вхідні дані: матриця В (тип int)

Вихідні дані: змінена матриця В (тип int)

#include<iostream.h> //Підключаємо бібліотеку iostream.h

void main() //Оголошуємо головну функцію main()

{

int W,k,j,min=9999; //Оголошуємо змінні W,k,j,min цілого типу

int B[100]; //та масив В зі 100 елементів цілого типу

cout<<"Скільки елементів буде в вашій матриці? ";//Даємо запит

cin>>k; //Вводимо кількість елементів матриці

cout<<"Введіть елементи вашої матриці:"<<"\n"; //Даємо запит

for(j=0;j<=k-1;j++) //За допомогою цикла for вводимо елементи

cin>>B[j]; //нашої матриці

cout<<"Змінена матриця:"<<"\n"; //Даємо запит

for(j=0;j<=k-1;j++) //Задаємо цикл

{

if (B[j]<0) B[j]*=(-1); //Умова: якщо j-тий елемент матриці

} //В - від'ємний, помножуємо його на -1

for (j=0;j<=k-1;j++) //Задаємо цикл

{

if (B[j]<min)//Умова: Якщо значення j-го елемента матриці В

min=B[j]; //< значення min, змінній min присвоюємо B[j]

}

for(j=0;j<=k-1;j++) //Задаємо цикл

{

if(j%2!=0) B[j]=min; //При непарному j елементу матриці

} //присвоюємо значення змінної min

for(j=0;j<=k-1;j++) //Задаємо цикл в якому

cout<<B[j]<<"\n"; //виводимо елементи матриці В

cout<<"\n"<<"Для виходу введіть EXIT:"<<"\n"; //Даємо запит

cin>>W; //Вводимо зайву перемінну W для затримки екрану

} //Кінець функції main()

2.24 Знаходження суми j-того рядка

Програма Proga24.срр призначена для знаходження в прямокутній матриці суми елементів j-того рядка

Вхідні дані: матриця В (тип int)

Вихідні дані: сума j-того рядка sum (тип int)

#include<iostream.h> //Підключаємо бібліотеку iostream.h

int func(int A[100][100],int m, int n)//Оголошуємо функцію func,яка по

{ //заданій матриці А, та певного

int sum=0,j,i; //рядка знаходить суму елементів

for(j=0;j<n;j++) //цього рядка

sum+=A[m-1][j];

return(sum);

}

void main() //Оголошуємо головну функцію main()

{

int x,W,y,k,nomer,i;//Оголошуємо змінні x,W,y,k,nomer,i цілого типу

int B[100][100]; //та матрицю В цілого типу

cout<<"Скільки рядків буде у вашій матриці? "; //Даємо запит

cin>>x; //Вводимо кількість рядків нашої матриці

cout<<"Скільки стовпців буде у вашій матриці? "; //Даємо запит

cin>>y; //Вводимо кількість стовбців нашої матриці

cout<<"Введіть елементи вашої матриці: "<<"\n"; //Даємо запит

for(i=0;i<x;i++) //Задаємо цикл

{

for(k=0;k<y;k++) //Задаємо цикл

cin>>B[i][k]; //Вводимо елементи нашої матриці

}

cout<<"Суму якого рядка ви бажаєте знайти? "; //Даємо запит

cin>>nomer; //Вводимо номер рядка суму якого ми бажаємо знайти

cout<<"Відповідь="<<func(B,nomer,y)<<"\n"; //Виводимо відповідь

cout<<"\n"<<"Для виходу введіть EXIT:"<<"\n"; //Даємо запит

cin>>W; //Вводимо зайву перемінну W для затримки екрану

} //Кінець функції main()

2.25 Знаходження кількості цифр в числі та їх суми

Програма Proga25.срр призначена для знаходження кількості цифр в заданому числі та їх суми

Вхідні дані: число а (тип int)

Вихідні дані: кількість цифр К (тип int)

сума цифр S (тип double)

#include<iostream.h> //Підключаємо бібліотеки iostream.h

#include<stdlib.h> //та 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"<<"\n"; //Даємо запит

cin>>a; //Вводимо число а

cout<<"\n"; //Переводимо курсор на новий рядок

c=a; //Змінній с присвоюємо значення змінної а

for(;a>0;) //Задаємо цикл

{

a=(a-a%10)/10; //Знаходимо цифри числа а

i++; //До значення змінної і додаємо 1

Z=(int*)calloc(i,sizeof(int)); //Виділяємо пам'ять для Z

}

for(b=0;b<i;b++) //Задаємо цикл

{

Z[b]=c%10;//Знаходимо залишок від числа “с” поділеного на 10

c=(c-c%10)/10; //Знаходимо цифри числа с

}

W=(int*)calloc(i,sizeof(int)); //Виділяємо пам'ять для W

for(j=0;j<i;j++) //Задаємо цикл

W[j]=Z[i-j-1]; //j-тий елемент матриці W=i-j-1

for(j=0;j<i;j++) //Задаємо цикл

cout<<W[j]<<" ";//Виводимо елементи матриці W

cout<<"\n"; //Переводимо курсор на новий рядок

for(j=0;j<i;j++) //Задаємо цикл

{

S+=W[j]; //Знаходимо в циклі суму елементів матриці W

K++; //Збільшуємо лічильник К на 1

}

cout<<"\n";//Переводимо курсор на новий рядок

cout<<"Кількість цифр в числі="<<K<<"\n\n";//Виводимо відповідь

cout<<"Сума="<<S<<"\n\n"; //Виводимо суму цифр числа “а”

cout<<"\n"<<"Для виходу введіть EXIT:"<<"\n"; //Даємо запит

cin>>G; //Вводимо зайву перемінну G для затримки екрану

} //Кінець функції main()

2.26 Знаходження номера селища

Програма Proga26.срр призначена для знаходження номера селища і, в якому зручніше розташувати лікарню, якщо мається k селищ і якщо в селищі і розташована лікарня, то подорож до селища j займе час a[i][j].

Вхідні дані: кількість селищ k (тип int)

Вихідні дані: номер селища і (тип int)

#include<iostream.h> //Підключаємо бібліотеки iostream.h,

#include<math.h> //math.h

#include<stdlib.h> //та stdlib.h

void main() //Оголошуємо головну функцію main()

{

int A[100][100]={{0},{0}};//Оголошуємо матрицю А,

int B[100]={0}; //матрицю В цілого типу та

int N,W,k,i,j,z,S,min=999;//перемінні N,W,k,i,j,z,S,min типу int

cout<<"Введіть кількість селищ: "; //Даємо запит

cin>>k; //Вводимо кількість селищ

for(i=0;i<k;i++) //Задаємо цикл

for(j=0;j<k;j++) //Задаємо цикл

A[i][j]=rand()%10+1;//Заповнюємо матрицю А випадковими числами

for(i=0;i<k;i++) //Задаємо цикл

for(j=0;j<k;j++) //Задаємо цикл

A[i][j]=A[j][i];//Переставляємо елементи матриці певним чином

for(z=0,j=0;z<k,j<k;z++,j++) //Задаємо цикл


Подобные документы

  • Програмування під DOS мовою низького рівня Асемблер (ASM-86). Функції програми: виведення в довільне місце екрану тексту заданого стилю та кольору, змінення шрифту, розміру літер та напрямку їх виводу. Алгоритм програми, системні вимоги до комп'ютера.

    курсовая работа [47,4 K], добавлен 03.06.2009

  • Розв'язання задач мовою програмування VBA з використанням алгоритмів лінійної, розгалуженої та ітераційної циклічної структури. Розробка блок-схеми алгоритму, таблиці ідентифікаторів та тексту програми. Створення власної панелі інструментів користувача.

    практическая работа [1012,6 K], добавлен 19.02.2010

  • Розробка програми для моделювання роботи алгоритму Дейкстри мовою C# з використанням об’єктно-орієнтованих принципів програмування. Алгоритм побудови робочого поля. Програмування графічного інтерфейсу користувача. Тестування програмного забезпечення.

    курсовая работа [991,4 K], добавлен 06.08.2013

  • Створення навчальної програми для вирішення системи лінійних рівнянь різними методами. Детальне покрокове рішення та довідкова теоретична інформація. Структура і функціональне призначення модулів програмного продукту, основні елементи його інтерфейсу.

    курсовая работа [1,9 M], добавлен 20.05.2015

  • Основні завдання синоптичної метеорології. Призначення та область застосування програмного продукту "Статистика метеоспостережень", функціональні вимоги до нього. Інформаційне забезпечення, структура, опис інтерфейсу. Тестування програмного продукту.

    курсовая работа [3,6 M], добавлен 30.04.2016

  • Формування електронного реєстру та презентація обліку зайнятості населення. Основні завдання обліку зайнятості (біржі праці). Обґрунтування доцільності створення програмного модуля. Вимоги до програмного продукту. Тестування програмного продукту.

    курсовая работа [399,7 K], добавлен 30.04.2016

  • Підстави для розробки програмного продукту для складання розкладу факультету вузу з використанням генетичних алгоритмів. Призначення розробленої програми, вимоги до функціональних характеристик, до програмної документації, техніко-економічні показники.

    курсовая работа [25,1 K], добавлен 12.04.2010

  • История развития корпорации Intel, ее финансовые показатели и планы на будущее. Основные программные продукты: C++ Compiler for Linux и for Windows, Visual Fortran Compiler for Windows, VTune Performance Analyzer. Защита информации Intel Anti-Theft.

    реферат [20,6 K], добавлен 02.04.2010

  • Концепції об'єктно-орієнтованого програмування. Методи створення класів. Доступ до методів базового класу. Структура даних, функції. Розробка додатку на основі діалогових вікон, програми меню. Засоби розробки програмного забезпечення мовами Java та С++.

    курсовая работа [502,5 K], добавлен 01.04.2016

  • Написання програми для виведення чисел Фібоначчі. Загальна характеристика мови Паскаль. Науковий доробок Леонардо Фібоначчі. Історія і властивості послідовності. Особливості програмування мовою Turbo Pascal. Відкалібрування та синхронізування програми.

    курсовая работа [325,1 K], добавлен 09.10.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.