Программирование на С++ - eDrive
Программирование на С++ - eDrive
Программирование на С++ - eDrive
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>пример так: