Программирование >>  Расширенная версия языка c++ 

1 ... 205 206 207 [ 208 ] 209 210 211 ... 227


cou sum(i, 4) endl; cout sum(d, 4) endl;

return 0;

Самоучитель

С++.

3. ttinclude <iostreain>

using namespace std;

Родовой класс для пузырьковой сортировки template <class Х> void bubble (X *data, int size)

register int a, b; X t;

for(a=l; a<size; a++)

for (b=size-l; b>=a; b-)

if(data[b-l] > data[b]) { t = data[b-ll; data[b-l] = data[b];

{3, 2, 5, 6, 1, 8, 9, 3, 6, 9); double d[] - {1.2, 5.5, 2.2, 3.3}; int j ;

bubble{i, 10); bubble (d, 4) ;

сортировка типа int

сортировка данных типа double

for{j=0; j<10; j++) cou<

cout

+or(jOf j<4; cou< d[j<

cout

return 0;

4. Здесь показан родовой стек для хранения пар значений ttinclude <iostream>

using namespace std;

ttdefine SIZE 10

Создание родового класса для стека template <clas Туре> class stack {



Приложение В. Ответы на вопросы и решения упражнений 63?

содержит стек int tos; индекс вершины стека

public:

void { tos

void push (StackType ob, StackType ob2 ) ; StackType pop (StackType &ob2);

Размещение объектов в стеке template <class StackType>

void stack<StackType>: : push (StackType ob, StackType ob2) I

if (

cou Стек полон\п ; return;

>

Stck[tos] [0] = ob;

stck[tos] [1] = ob2; i

tos++;

Выталкивание объектов из стека

template <class StackType>

StackType 3tack<StackType>: : pop (StackTypeSob2} ,

if (tos=0) (

cout Стек пустХп ;

return 0; нуля при пустом стеке

:i .

tos--;

ob2 =

return stck[tosj [0];

int main

Демонстрация символьных стеков stack<char> si, s2; создание двух стеков int i ; char ch;

Инициализация стеков si. ±iii. u. u ; s2.init();

si.push( a , b ) ; s2.push(x, z) ; sl.pushCb, d);



632 ?)ti- ; Самоучитель С++

s2.pu3h(у, e) ; . .

si. push ( с, a) ;

s2,push(z, x);

for(i=0; i<3; f . ,

cout Из стека 1: sl.pop(ch); - .. cout ch \n ;

for{i=0; i<3++) I

cout Из стека 2: s2.pop(ch); cout ch \n ,

Демонстрации KOB со значениями типа double stack<double> dsl, ds2; создание двух стеков

double d;

Инициализация стеков

dsl.initO ; -

ds2.1nit О ;

dsl.pushd.l, 2.0);

ds2.push(2.2, 3.0); - -

dsl.push(3.3, 4.0);

ds2.push(4.4, 5.0); *

dsl.push(S.5, 6.0) ;

d32.push(6.6, 7.0);

for(i-0; i<3; i++) (

cou Из стека 1: dsl. pop (d); cout d \n ;

for (1=0; i<3; ( *

cou Из стека 2: ds2.pop(d); cout d \n ;

>

return 0;

5. Ниже представлены обхчные формы инструкций try, catch и throw:

try { ....u=.. - ..

блок try

throw исклсятуацкя

catch (typ g) {

. ,



1 ... 205 206 207 [ 208 ] 209 210 211 ... 227

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика