Программирование >>  Инициализация объектов класса, структура 

1 ... 363 364 365 [ 366 ] 367 368 369 ... 395


#include <algorithm>

#include <list>

#include <string>

#include <iostream.h>

/* печатается:

исходная последовательность элементов массива: 0 1 1 2 3 5 8

массив после fill(ia+1,ia+6):

0 9 9 9 9 9 8

исходная последовательность элементов списка: c eiffel java ada perl

список после fill(++ibegin,-iend):

c c++ c++ c++ perl

int main()

const int value = 9;

int ia[] = { 0, 1, 1, 2, 3, 5, 8 };

ostream iterator< int > ofile( cout, );

cout << исходная последовательность элементов массива:\n ; copy( ia, ia+7, ofile ); cout << \n\n ;

fill( ia+1, ia+6, value );

cout << массив после fill(ia+1,ia+6):\n ; copy( ia, ia+7, ofile ); cout << \n\n ;

string the lang( c++ );

string langs[5] = { c ,

eiffel , java , ada , perl };

list< string, allocator > il( langs, langs+5 ); ostream iterator< string > sofile( cout, );

cout << исходная последовательность элементов сска:\n ; copy( il.begin(), il.end(), sofile ); cout << \n\n ;

typedef list<string,allocator>::iterator iterator;

iterator ibegin = il.begin(), iend = il.end(); fill( ++ibegin, -iend, the lang );

cout << список после fill(++ibegin,-iend):\n ; copy( il.begin(), il.end(), sofile ); cout << \n\n ;

Алгоритм fill n()



template< class ForwardIterator, class Size, class Type > void

fill n( ForwardIterator first,

Size n, const Type& value );

fill n() присваивает count элементам из диапазона [first,first+count) значение value.



#include <algorithm> #include <vector> #include <string> #include <iostream.h>

class print elements { public:

void operator()( string elem ) { cout << elem

<< ( line cnt++%8 ? : \n\t );

static void reset line cnt() { line cnt = 1; }

private:

static int line cnt;

int print elements:: line cnt = 1; /* печатается:

исходная последовательность элементов массива:

0 1 1 2 3 5 8

массив после fill n( ia+2, 3, 9 ): 0 1 9 9 9 5 8

исходная последовательность строк:

Stephen closed his eyes to hear his boots crush crackling wrack and shells

последовательность после применения fill n():

Stephen closed his xxxxx xxxxx xxxxx xxxxx xxxxx xxxxx crackling wrack and shells

int main()

int value = 9; int count = 3;

int ia[] = { 0, 1, 1, 2, 3, 5, 8 };

ostream iterator< int > iofile( cout, );

cout << исходная последовательность элементов массива:\n ;

copy( ia, ia+7, iofile ); cout << \n\n ;

fill n( ia+2, count, value );

cout << массив после fill n( ia+2, 3, 9 ):\n ; copy( ia, ia+7, iofile ); cout << \n\n ;

string replacement( xxxxx );

string sa[] = { Stephen , closed , his , eyes , to ,

hear , his , boots , crush , crackling ,

wrack , and , shells };

vector< string, allocator > svec( sa, sa+13 );

cout << исходная последовательность строк:\n\t ; for each( svec.begin(), svec.end(), print elements() ); cout << \n\n ;

fill n( svec.begin()+3, count*2, replacement ); print elements::reset line cnt();

cout << последовательность после применения fill n():\n\t for each( svec.begin(), svec.end(), print elements() );

cout << \n ;



1 ... 363 364 365 [ 366 ] 367 368 369 ... 395

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