Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб_ робота_7-8_1213.doc
Скачиваний:
5
Добавлен:
26.11.2019
Размер:
83 Кб
Скачать
☆

Порядок виконання роботи.

1. Запустити Microsoft Visual C++ (MVC++).

2. Відкрити простий проект, для якого:

3. обрати тип проекту, що створюється: Win32 Console Application;

4. вказати назву проекту та місце розташування проекту;

5. обрати тип консольного додатку A simple Application.

6. Відкрити файл головної функції проекту та внести до неї відповідні зміни.

// головна функція

#include "stdafx.h"

#include <iostream>

#include <string>

using namespace std ;

void swapR ( int&, int& ) ;

void swapR ( char&, char& ) ;

void reverseArray ( int*, int = 10 ) ;

int* reverseArray ( const int*, int, int ) ;

char* reverseArray ( const char* ) ;

void view ( const int*, int = 5 ) ;

int main ( )

{

int ar [ 10 ] = { 1, 2, 3, 4, 5, 6 } ;

cout << "Initial array\n" ; view ( ar, 10 ) ;

// реверс усього масиву

reverseArray ( ar ) ;

cout << "\nReverse array\n" ; view ( ar, 10 ) ;

// реверс частини масиву

int* p = reverseArray ( ar, 5, 9 ) ;

cout << "\nReverse part array\n" ; view ( p ) ;

// реверс стрічки

char* s = "NOMEL ON NOLEM ON" ;

char* pr = reverseArray ( s ) ;

cout << "\nInitial string\n" ; cout << s << endl ;

cout << "\nReverse string\n" ; cout << pr << endl ;

return 0 ;

}

// перестановка за допомогою посилань (ссылок)

void swapR ( int& rx, int& ry )

{ int t = rx ; rx = ry ; ry = t ; }

void swapR ( char& rx, char& ry )

{ char t = rx ; rx = ry ; ry = t ; }

// реверс массиву в самому собі

void reverseArray ( int* p, int size )

{

for ( int i = 0, j = size - 1; i < j; i++, j-- )

swapR ( p [ i ], p [ j ] ) ;

}

// формування зворотнього масиву із частини масиву

int* reverseArray ( const int* pIn, int top, int end )

{

if ( end <= top ) return 0 ;

int size = end - top + 1 ; int* pRes = new int [ size ] ;

int i, j, ir, jr ;

for ( i = top, j = end, ir = 0, jr = size - 1; i < j; )

{

pRes [ ir++ ] = pIn [ j-- ] ;

pRes [ jr-- ] = pIn [ i++ ] ;

}

if ( i == j ) pRes [ ir ] = pIn [ i ] ;

return pRes ;

}

// реверс стрічки

char* reverseArray ( const char* p )

{

char* pOut = new char [ strlen ( p ) + 1 ] ;

strncpy ( pOut, p, strlen ( p ) + 1) ;

char *pTop = pOut, *pEnd = pOut + strlen ( pOut ) - 1 ;

while ( pTop < pEnd )

swapR ( *pTop++, *pEnd-- ) ;

return pOut ;

}

void view ( const int* arr, int count )

{ for ( int i = 0; i < count; i++ )

{

cout << '\n' << "\ti=" << i << " " << arr[i] << endl ;

}

}

  1. Зберегти проект. за допомогою команди File Save All.

  2. Виконати програму за допомогою команди Build Execute Lab8_1.exe.

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

  4. Закрити проект за допомогою команди File Close Workspace.

  5. Закрити MVC++.

Частина 2

У відповідності з варіантом розробити перевантажені функції, призначення яких приведено в таблиці.

№ вар

Призначення функцій

1

Розрахунок площ:

А) трикутника по трьом сторонам;

Б) прямокутника;

В) кола.

2

Розрахунок об’ємів:

А) куба;

Б) конуса;

В) призми з правильним трикутником в основі.

3

Розрахунок площ поверхонь тіл:

А) кулі;

Б) призми з прямокутником в основі;

В) конусу.

4

Розрахунок площ трикутника:

А) по основі і висоті;

Б) по трьом сторонам;

В) кола.

5

Розрахунок площ:

А) трикутника по трьом сторонам;

Б) трапеції;

В) ромбу.

6

Розрахунок об’ємів:

А) призми з прямокутником в основі;

Б) циліндра;

В) кулі.

7

Розрахунок площ бокових поверхонь тіл:

А) піраміди з правильним трикутником в основі;

Б) призми з прямокутником в основі;

В) конусу.

8

Розрахунок площ:

А) кільця;

Б) трапеції;

В) квадрату.

9

Розрахунок об’ємів:

А) куба;

Б) конуса;

В) призми з правильним трикутником в основі.

10

Розрахунок площ бокових поверхонь тіл:

А) циліндру;

Б) піраміди з прямокутником в основі;

В) призми з правильним трикутником в основі.

11

Розрахунок площ:

А) трикутника;

Б) прямокутника;

В) кола.

12

Розрахунок площ поверхонь тіл:

А) кулі;

Б) призми з прямокутником в основі;

В) конусу.

13

Розрахунок площ:

А) кільця;

Б) трапеції;

В) квадрату.

14

Розрахунок площ:

А) трикутника по трьом сторонам;

Б) трапеції;

В) ромбу.

15

Розрахунок площ бокових поверхонь тіл:

А) піраміди з правильним трикутником в основі;

Б) призми з прямокутником в основі;

В) конусу.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]