C++ для начинающих - страница 27

стр.


>sort ( ia, ia+7 );


Так можно упорядочить первые четыре элемента:


>sort ( ia, ia+4 );


Для использования алгоритмов в программу необходимо включить заголовочный файл


>#include algorithm


Ниже приведен пример программы, использующей разнообразные алгоритмы в применении к объекту типа vector:


>#include vector

>#include algorithm

>#include iostream


>int ia[ 10 ] = {

>51, 23, 7, 88, 41, 98, 12, 103, 37, 6

>};


>int main()

>{

>vector int vec( ia, ia+10 );

>vectorint::iterator it = vec.begin(), end_it = vec.end();

cout "Начальный массив: ";


>for ( ; it != end_it; ++ it ) cout *it ' ';

>cout "\n";


>// сортировка массива

>sort( vec.begin(), vec.end() );


cout "упорядоченный массив: ";

>it = vec.begin(); end_it = vec.end();

>for ( ; it != end_it; ++ it ) cout *it ' ';

>cout "\n\n";

>int search_value;

cout "Введите значение для поиска: ";

>cin search_value;


>// поиск элемента

>vectorint::iterator found;

>found = find( vec.begin(), vec.end(), search_value );


>if ( found != vec.end() )

cout "значение найдено!\n\n";

else cout "значение найдено!\n\n";

>// инвертирование массива

>reverse( vec.begin(), vec.end() );

cout "инвертированный массив: ";

>it = vec.begin(); end_it = vec.end();


>for ( ; it != end_it; ++ it ) cout *it ' ';

>cout endl;

>}


Стандартная библиотека С++ поддерживает и ассоциативные массивы. Ассоциативный массив – это массив, элементы которого можно индексировать не только целыми числами, но и значениями любого типа. В терминологии стандартной библиотеки ассоциативный массив называется отображением (map). Например, телефонный справочник может быть представлен в виде ассоциативного массива, где индексами служат фамилии абонентов, а значениями элементов – телефонные номера:


>#include map

>#include string

>#include "TelephoneNumber.h"

>mapstring, telephoneNum telephone_directory;


(Классы векторов, отображений и других контейнеров в подробностях описываются в главе 6. Мы попробуем реализовать систему текстового поиска, используя эти классы. В главе 12 рассмотрены обобщенные алгоритмы, а в Приложении приводятся примеры их использования.)

В данной главе были очень бегло рассмотрены основные аспекты программирования на С++, основы объектно-ориентированного подхода применительно к данному языку и использование стандартной библиотеки. В последующих главах мы разберем эти вопросы более подробно и систематично.

Упражнение 2.22

Поясните результаты каждого из следующих определений вектора:


>string pals[] = {

>"pooh", "tiger", "piglet", "eeyore", "kanga" };



>(a) vectorstring svec1(pals,pals+5);

>(b) vectorint ivec1(10);

>(c) vectorint ivec2(10,10);

>(d) vectorstring svec2(svec1);

>(e) vectordouble dvec;


Упражнение 2.23

Напишите две реализации функции min(), объявление которой приведено ниже. Функция должна возвращать минимальный элемент массива. Используйте цикл for и перебор элементов с помощью

индекса

>template class elemType

итератора

>elemType min (const vectorelemType vec);


>2013-11-14 09:35:20 Safronik

Есть места где вы не объясняете код. Просто вставляете непонятную инструкцию или строчку. Сложно.


>2012-06-27 18:30:04 FeelUs

"Упражнение 2.8 Отношение наследования между типом и подтипом служит примером отношения является." - как-то не по русски


>2012-05-30 18:46:11

"... private: static const int DefaultArraySize = 12; " - на это билдер ругался до тех пор, пока я не поместил обьявление класса в .h ----------------------------- Не " else ix[ix] = array[ix]; " , а "...iа[ix]". ----------------------------- " int IntArray::operator[] (int index) " ругается на непричасность к классу IntArray ----------------------------- Словил ошибку линкёра после переноса реализации класса в IntArray.cpp (в IntArray.h есть его обьявление, директивы include тоже, эта пара - один unit.


>2011-10-14 19:42:59 Crazy_penguin

Глава 2 - Рассматривается ООП, конструкторы и деструкторы. Глава 3 - Изучаем, что такое переменные и цикл for. Кто-то кого-то где-то ...


Часть II

Основы языка


Код программы и данные, которыми программа манипулирует, записываются в память компьютера в виде последовательности битов. Бит – это мельчайший элемент компьютерной памяти, способная хранить либо 0, либо 1. На физическом уровне это соответствует электрическому напряжению, которое, как известно, либо есть , либо нет. Посмотрев на содержимое памяти компьютера, мы увидим что-нибудь вроде: