24.11.2014 Views

Программирование на С++ - eDrive

Программирование на С++ - eDrive

Программирование на С++ - eDrive

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

14<br />

вать дополнительную операцию – поиск информации с использованием библиотеки<br />

STL.<br />

Рекомендации<br />

1. Подключение библиотеки STL. Создать форму в соответствии с заданием,<br />

а<strong>на</strong>логичную предыдущим работам. Включить в файл кода формы заголовочные<br />

файлы библиотеки STL для работы с контейнером vector и с алгоритмами,<br />

а также определить пространство имен std:<br />

#include <br />

#include <br />

using namespace std;<br />

2. Создание векторов. В классе формы объявить три вещественных вектора и<br />

итератор, функцию заполнения вектора данными и функции передачи данных<br />

из вектора в таблицу и обратно, <strong>на</strong>пример:<br />

vector myVector0, myVector1, myVector2;<br />

vector ::iterator vi;<br />

void __fastcall MyFill (vector &vec);<br />

void __fastcall MyVectorToGrid (vector &vec, int col);<br />

void __fastcall MyGridToVector (vector &vec, int col,);<br />

Задать размер вектора можно следующим образом:<br />

int size = StrToInt (Edit1–>Text);<br />

StringGrid1–>RowCount = size + 1;<br />

myVector0.resize (size);<br />

Заполнение вектора случайными числами и вывод его в таблицу проводят<br />

с помощью итератора:<br />

int i=0;<br />

for (vi=vec.begin (); vi!=vec.end (); ++vi)<br />

StringGrid1–>Cells [col][++i] = FloatToStr (*vi);.<br />

С этой же целью в функции может использоваться обычный цикл со счетчиком:<br />

for (unsigned i = 0; i < vec.size (); i++) vec [i] = random (100);<br />

3. Вычисления. Предусмотрен<strong>на</strong>я заданием математическая операция <strong>на</strong>д<br />

векторами размером myVector2.size () выполняется а<strong>на</strong>логично прежним<br />

работам. Групповые операции удобно проводить с помощью итератора и<br />

соответствующих алгоритмов STL, <strong>на</strong>пример так:

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!